vscode终端输出中文乱码问题解决图文教程
作者:今晚打老鼠啊 发布时间:2022-08-15 14:18:05
解决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均可
来源:https://blog.csdn.net/qq_47683407/article/details/127726521


猜你喜欢
- 本文实例讲述了Python基于贪心算法解决背包问题。分享给大家供大家参考,具体如下:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在
- 大家好,我是了不起!在某些难以抉择得时候,我们经常要用外力来帮助我们做出选择比如,梁山出征方腊前沙场点兵,挑选先锋的场景这个时候
- 一、连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码&nbs
- 最近在研究Hacker News API时遇到一个HTTPS问题。因为所有的Hacker News API都是通过加密的HTTPS协议访问的
- LDA(Latent Dirichlet allocation)模型是一种常用而用途广泛地概率主题模型。其实现一般通过Variational
- 本文以简单示例分析了python中关键字is与 ==的区别,供大家参考一下。首先说明一下Python学习中几个相关的小知识点。Python中
- 1. HADOOP背景介绍1.1 什么是HADOOP1.HADOOP是apache旗下的一套开源软件平台2.HADOOP提供的功
- 如下所示:from pandas_datareader import data, wbfrom datetime import dateti
- PHP异步调用实现方式 浏览器和服务器之间只一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求
- 目录一、基本用法二、计数循环三、字符串遍历循环四、列表遍历循环五、文件遍历循环六、遍历循环的扩展模式一、基本用法for <循环变量&g
- 如何做一个树状展开视图来显示自己的记录结构?在SQL中,如何做一个可收起和展开树状结构图?就是资源管理器左栏的那种效果。这要用到Data s
- 把程序放到一个文件中,然后包含再call就可以了。(JMAIL4.3)<%'警告函数sub w_msg(messag
- 在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。代
- 如下所示:plt.subplots_adjust(left=None,bottom=None,right=None,top=None,wsp
- 在PyCharm 里,显示行号有两种办法:1,临时设置。右键单击行号处,选择 Show Line Numbers。但是这种方法,只对一个文件
- 本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。具体实现方法如下:import randomdef partition(
- 一、问题描述在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL se
- 这篇文章主要介绍了python scatter函数用法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 目录引言数据获取与指标构建数据获取构建目标变量(target variable)技术指标特征构建计算技术指标模型预测与评估加入技术指标特征特
- 使用tensorflow 训练模型时,我们可以使用 tensorflow自带的 Save模块 tf.train.Saver()来保存模型,使