vscode终端输出中文乱码问题解决图文教程(vscode怎么在终端显示结果)深度揭秘

随心笔谈2年前发布 编辑
168 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



目录乱码原因方法一(永久性)方法二(永久性)强力推荐!!!!!!!!!!!附加(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格式

博主使用方法三没有出现中文乱码情况,但是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均可

到此这篇关于vscode终端输出中文乱码问题解决的文章就介绍到这了,更多相关vscode终端输出中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:VScode运行C++中文终端乱码的解决方案VsCode搭建C语言运行环境详细过程及终端乱码问题解决方案永久解决VSCode终端中文乱码问题VSCode让终端默认在当前文件的路径启动(方法推荐)

© 版权声明

相关文章