vscode (c/cpp)解决终端 无法输出中文/中文乱码的问题 2020最新最全。
耗费三个晚上,终于解决问题(正常显示中文)。
此方法不会导致windows其他内容乱码
仅适用于设置UTF-8,可能对要设置GBK有参考价值
尝试了
更改区域设置、cmd和powershell编码等方法,均无效。
最后发现自己的task.json里有一句
"-fexec-charset=GBK", // 生成的程序使用GBK编码,不加这一条会导致Win下输出中文乱码
正是这一句导致了中文问题(当时选择的教程是用的GBK 吧??诶)
由于我的vscode的设置全都是UTF-8的,加了这一句GBK,怎么, 改都是GBK,也就无法在终端正常显示中文了
一定要注意自己的配置文件里关于编码的设置
删除这一句就行了,或者把GBK改成UTF-8(建议删除,防止以后改成GBK的时候又出要幺蛾子)
相信看到这篇文章的朋友们都已经了解了以下所有关于编码问题的设置方法
以下分享一下关于我电脑上可能影响vscode编码的相关设置
windows版本:
win10 家庭中文版1909
vscode版本:
版本: 1.50.0 (system setup)
提交: 93c2f0fbf16c5a4b10e4d5f89737d9c2c25488a3
日期: 2020-10-07T06:10:52.432Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Windows_NT x64 10.0.18363
编译器:mingw64
1、区域设置(默认中国)
2、区域编码设置(默认)
3、cmd编码设置(默认)
4、PowerShell编码设置(默认)
以下设置打开方式:vscode左下角齿轮图标>>设置
5、Encoding设置(默认)
6、终端类型设置(默认)
7、终端cmd和shell设置(默认)
2020.10.14.18:00更新:
经长达4个小时的探索,
最终无法在按下F5运行cpp程序的时候既正常显示printf(“中文”);,
又能读入输入的中文并正常显示
输入输出中文的解决方法:(其他以上编码方式同上述步骤)
如果有源代码里的中文打印出来有乱码,请删掉重新写,保存
方法1、
01在vscode左下角编码位置->>通过编码保存,选择utf8
02在终端用命令行 chcp 936
03通过以下两行代码运行程序(文件名请自作调整)
g++ test.cpp -o test.exe
./test.exe
方法2、用Code Runner运行cpp代码
01在vscode左下角编码位置->>通过编码保存,选择gbk2312
02用code runner运行
缺点:无法通过打断点的方式debug