【解决vscode终端输出中文乱码问题图文教程】

news2025/2/26 1:04:26

全网最全解决vscode运行C/C++终端输出乱码问题图文教程

  • 解决vscode终端输出中文乱码问题,强推**方法二**,少走几年弯路
    • 乱码原因
    • 方法一(永久性)
    • 方法二(永久性)强力推荐!!!!!!!!!!!
    • 附加(CMD修改成旧控制台)
    • 方法三(临时性)
    • 如果之前尝试了其他方法调乱了不要着急:

解决vscode终端输出中文乱码问题,强推方法二,少走几年弯路

解决网上终端chcp65001仍然无效,或者vscode由utf-8改为GBK仍然无效的问题,提供了三个方案,c/c++设置通用

乱码原因

因windows中文版系统cmd编码默认为GBK,而vscode默认新建文件的编码为UTF-8所以会出现中文乱码情况

方法一(永久性)

将系统默认编码改为UTF-8,该方法需确保你的vscode编码格式已为UTF-8(若之前未作修改默认为UTF-8,不确定也可以看界面右下角,若不是也可自行更改,方法二中有介绍vscode编码格式更改方法)
缺点:系统设置更改,可能导致某些软件乱码,例如之前在gbk模式下载的caj文献打不开,需重新下载
在这里插入图片描述

win键–设置–时间和语言–语言–管理语言设置–更改系统区域设置–勾选Beta版使用Unicode UTF-8提供全球语言支持
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
更改系统区域设置
勾选Beta版使用Unicode UTF-8提供全球语言支持

!!!更改系统设置时一定要重启电脑,否则会随机性报错,可能会出现设置改完了但没有生效的情况

重启电脑后我们发现再次进入系统cmd中输入chcp显示65001
在这里插入图片描述
在这里插入图片描述
此时更改成功,在vscode终端运行不会乱码

方法二(永久性)强力推荐!!!!!!!!!!!

方法2(永久性)
更改vscode默认编码UTF-8为GBK,(该法需确认系统编码环境为GBK格式,cmd终端输入chcp可以查看当前系统默认编译器,65001代表UTF-8,936代表GBK;设置完仍需重启vscode否则仍会出问题
缺点:博主电脑对于首字符为汉字的字符串显示仍乱吗,但对于字符中夹杂中文则不会乱码,而同门电脑则未遇到问题,博主未找到原因

!!!!!!!!!!!!!!!!!!!!!!!!!2022.11.24博主找到原因了,透透透,方法写在方法二末尾附加部分

1已经写好的程序文件,通过右下角更改:
在这里插入图片描述
在这里插入图片描述
保存为GBK格式
在这里插入图片描述
重新运行程序即解决乱码问题,

2新建文件时我们发现右下角又会变为utf8,因此还需修改默认新建文件和打开文件编码方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将此处的utf8改为gbk,即可使新建的文件均为gbk格式

附加(CMD修改成旧控制台)

博主使用方法三没有出现中文乱码情况,但是cin输入中文时终端不显示,最后在修改系统终端的过程中解决了方法二输出字符串首字符为中文就报错的情况!!!(期间博主转用visual studio2012,无需设置任何编码格式,也无需配置编译环境,即使中文乱码修改控制台为旧控制台即可解决所有问题。确实比vscode简单,但是编译器太原始,写代码不舒服,还是回到了vscode,实在新手小白不愿意配置环境可以使用visual studio,想高效书写查看代码还是建议vscode)

如图,博主使用方法二,将vscode编码格式设为gbk,终端编码格式为默认值,仍为gbk,但是对于首字符为中文的字符串仍然乱码,而只要首字符非中文还是不会乱码的
在这里插入图片描述
解决方案
win+R输入cmd进入系统终端,记住是系统终端不是vscode的虚拟终端!
在这里插入图片描述
在终端上边框空白处右键进入“”属性“”(右键黑色处无效哦)
在这里插入图片描述
勾选启用旧版控制台,然后确认后关闭终端,重启vscode重新运行就OK了
在这里插入图片描述
可以看到,之前所有问题迎刃而解,中文不乱码,cin也能接受中文字符并显示
在这里插入图片描述
该法同样适用cout中文乱码,printf正常

方法三(临时性)

vscode仍默认编码保存编码方式UTF-8,在vscode终端输入chcp 65001手动调节虚拟终端编码为UTF-8(注:vscode启用的是虚拟终端,不会更改系统设置,即win+r再cmd进入的终端显示的活动代码不会改变)
缺点:因该法改变的是虚拟终端的编码格式为一次性,在重启vscode或者重新打开项目文件时需重新再vscode的虚拟终端输入chcp 65001

博主一开始用的是方法1没问题,后在查看知网caj文件时出现问题,转用同门推荐方法2,离奇的事出现了,他没问题,我就是乱码,后发现在我电脑上只要首字符非中文就不会乱码,最后博主使用了方法三亲测有效,但一定要注意把vscode的设置还原成默认的utf-8
博主在使用cin输入时又出现了中文不显示,最后通过修改系统CMD设置得以解决

未更改前中文乱码在这打双打撒旦里插入图片描述
vscode虚拟终端输入chcp 65001
在这里插入图片描述
显示激活65001,意思就是已将虚拟终端的编码格式设为UTF-8
在这里插入图片描述
此时run code不再乱码
在这里插入图片描述

如果之前尝试了其他方法调乱了不要着急:

cmd终端chcp可以查看当前系统默认编译器,65001代表UTF-8,936代表GBK;
vscode界面右小角会显示当前代码文件的编码格式

二者统一即可,均为GBK或均为UTF-8均可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3中样式渗透:deep()为什么无效

今天学习 /deep/ 样式穿透,因为vue3中已经使用:deep()取代了/deep/ ,所以直接用:deep()练习。 :deep()的使用场景: 如果给当前组件的style 节点添加了scoped 属性,则当前组件的样式对其子组件是不生效的。如果想让某些样式对子组…

DVWA(全级别通关教程详解)

文章目录Brute ForceLowMediumCommand InjectionLowMediumHighCSRFLowMediumHighFile InclusionLowMediumHighFile UploadLowMediumHighSQL Injection (手工)LowMediumHighSQL Injection(工具)LowMediumHighSQL Injection (Blind)Low布尔盲注时间盲注XSS…

若依RuoYi框架log图标与文字怎么改?

文章目录1.若依修改主界面图标2.若依修改主界面文字3.若依修改页面上方图标4.若依修改页面上方文字5.若依登录页面文字修改6.免费图片转换网站1.若依修改主界面图标 图片路径: /src/assets/logo/logo.png直接将想要替换的png格式图片将其替换即可,图片大小建议为60*…

Vue的生命周期的详解

Vue的生命周期 Vue的生命周期是每个使用Vue框架的前端人员都需要掌握的知识,以此作为记录。 Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初…

vue中input标签上传本地文件或图片后获取完整路径,如E:\medicineOfCH\stageImage\xxx.jpg

前言&#xff1a; 好久没有写vue了。今天遇到一个需求&#xff1a;使用input框来上传图片类型&#xff0c;并且在选择之后立刻回显出来。使用< input type“file”/>在选定图片后再< img src“xxx”/>。今天在实现这个需求的时候主要是出现了三个问题&#xff1a;…

分享 6 个 Vue3 开发必备的 VSCode 插件

今天分享 6 个 Vue3 开发必备的 VSCode 插件&#xff0c;可以直接用过 VSCode 的插件中心直接安装使用。 如果有觉得有帮助&#xff0c;还请点赞&#x1f44d;支持一下~ 1. Volar &#x1f525; 下载数 153 万 相信使用 VSCode 开发 Vue2 的同学一定对 Vetur 插件不会陌生&…

40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】

当下前端开发可以说是一个比较火的职业&#xff0c;所以学习的人比较多&#xff0c;不管是培训还是自学都是希望通过前端可以找到一份好的工作&#xff0c;但是很多自学的朋友在自学过程中有些盲目&#xff0c;不仅大大降低了学习的效率&#xff0c;而且也会打击自己的学习热情…

使用nvm安装node

常用命令 NVM的常用命令如下&#xff1a;nvm list available&#xff1a;查看可在线安装的NodeJS版本nvm ls&#xff1a;列出所有已经在NVM中安装的NodeJS版本。nvm current&#xff1a;显示当前正在使用的Node版本。nvm install xx.xx.xx&#xff1a;在NVM中在线安装指定版本的…

nvm安装步骤及使用方法

一、nvm说明 nvm 主要是用来管理 nodejs 和 npm 版本的工具&#xff0c;可以用来切换不同版本的 nodejs。 二、nvm下载 https://github.com/coreybutler/nvm-windows/releases 三、nvm安装 1.解压缩后点击exe文件进行安装 2、点击next&#xff0c;选择nvm安装路径&#xf…

Vue:vue3中封装Axios请求

解决、 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、创建文件夹存放封装好的js二、封装代码三、配置四、在需要的组件中使用总结前言 这篇文章直接能够在项目中使用&#xff0c;没有解释什么东西&#…

安装运行vue-element-admin的报错问题-解决办法

一、原本的安装方法-出错 官网安装链接如下&#xff1a; https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/#%E5%AE%89%E8%A3%85 我遇到的报错主要在以下阶段&#xff1a; 按上方安装链接里git clone后npm install无法安装npm install完成后无法启动&#xff0…

vue中的proxy代理的使用(解决跨域问题)

声明 1. 首先我们应该知道&#xff0c;前端axios在本地发送的请求如果你不把路径写全&#xff0c;它都是会默认加上自己项目所在的端口&#xff0c;就比如说&#xff1a; axios.get(/login) axios.get(/hello) 当我点击发送按钮之后&#xff0c;以上两行代码实际为&#xff1a;…

使用alist将云盘映射为WebDAV

使用alist将云盘映射为WebDAV1. 下载2. Windows系统安装与配置2.1 alist 启动与配置2.2 添加启动与关闭的脚本2.3 开机启动3. Linux系统安装与配置3.1 alist 启动与配置3.2 守护进程​4. 测试 WebDAValist是一款开软的将网盘及本地硬盘映射到网络端的软件&#xff0c;支持多种存…

【Web前端】怎样用记事本写一个简单的网页-html

前言 出于对网站的一些突然的兴趣&#xff0c;我开始了解网页是如何被设计出来的。 作者水平有限&#xff0c;如有问题&#xff0c;欢迎指出。 文章目录前言一. 对网页设计的基本了解1. 网站2. 网页编辑工具1&#xff09;语言2&#xff09;软件二. 第一个网页1. 实操——用记事…

watch跟computed的区别

大家好,我是大帅子,今天给大家讲一下watch跟computed的区别,下面我们直接开始吧 功能上&#xff1a;computed是计算属性&#xff0c;watch是监听一个值的变化&#xff0c;然后执行对应的回调。 是否调用缓存&#xff1a;computed中的函数所依赖的属性没有发生变化&#xff0c;…

【Web 安全】XSS 攻击详解

文章目录一、XSS 攻击概述二、XSS 攻击原理1. XSS的攻击载荷&#xff08;1&#xff09; script 标签&#xff08;2&#xff09; svg 标签&#xff08;3&#xff09; img 标签&#xff08;4&#xff09;body 标签&#xff08;5&#xff09; video 标签&#xff08;6&#xff09;…

VUE框架

1 概述 VUE是一款前端框架&#xff0c;免除了JavaScript中的DOM操作&#xff0c;简化书写 在JavaScript中有很多没有逻辑的繁琐的重复操作&#xff0c;如下 而VUE改善了这个问题&#xff0c;简化了DOM书写。 VUE是基于MVVM(Model-View-ViewModel)思想&#xff0c;实现数据的…

新一代状态管理工具 -- Pinia 上手指南

一&#xff1a;Pinia简介和五大优势 Pinia是vue生态里Vuex的替代者&#xff0c;一个全新的vue状态管理库。在Vue3成为正式版以后&#xff0c;尤雨溪强势推荐的项目就是Pinia。 那先来看看Pinia比Vuex好的地方&#xff0c;也就是Pinia的五大优势。 可以对Vue2和Vue3做到很好的支…

5个前端练手项目(html css js canvas)

前言&#xff1a; 首先祝大家端午节快乐。本篇文章有5个练手项目 对于刚学完前端三剑客的你们。应该是一个很好的实践 目录 &#x1f969;.跑马灯 1.1效果图&#xff1a; 1.2思路解析 1.3源码 &#x1f367;.彩虹爱心 2.1效果图 2.2思路解析 2.3源码 &#x1f32e;.闹钟…

vue中this.$set()的用法

1、this.$set()的作用 向响应式对象中添加一个属性&#xff0c;并确保这个新属性同样是响应式的&#xff0c;且触发视图更新。 this.$set()用于向响应式对象上添加新属性&#xff0c;因为 Vue 无法探测普通的新增属性。 简单来说&#xff1a;就是我们在methods中给数据添加了一…