[ Windows/VSCode ] VSCode 编译 C/C++ 控制台输出中文乱码
在网上找以及自己测试得到的答案:
VSCode 与 cmd 两者之间的编码方式不一样:VSCode 默认是 utf-8 编码,而在中国地区下的 Windows 的 cmd 默认是 GBK 编码。
解决方法(已经测试了C/C++,java这个比较特殊,首先它不能在 VSCode 控制台里进行输入,其次它在 VSCode 和 cmd 编码方式一样【都为 GBK】的情况下并不能成功显示中文,因此算是失败,如果有谁知道,请告诉我。):
方法一:更改 cmd 或者 vscode 的编码方式:
进入程序所在的目录,运行程序。如我的 cpp 程序在 D:/c/test.exe:
进入cmd后输入如下命令:
D: 进入到驱动器 cd c 进入到 c 目录下 chcp 65001 转换编码方式 test.exe 运行程序
就可以在字符编码为 utf-8 的情况下,将程序输出中文。
vs code控制台:
chcp 65001 .\test.exe
方法二:更改 vscode 程序源文件的编码方式(以下两种都可以,我会讲利弊):
①直接点击下面的 utf-8
我们选择通过其他编码保存,然后输入 GBK 就能使用GBK 中文编码方式保存我们的源文件,然后再运行程序
这个方法的能够让我们在 cmd 终端里面正常显示中文,但是在 vscode 里面中文就会显示乱码!如果我们想在 vscode 终端里面显示正常,那么我们逆向操作就可以了。
②我们按住 【Ctrl + ,】进入设置,输入 encoding 然后把 utf-8 换成 GBK
这样我们所有的程序都会通过 GBK 来进行编码,注意:我们所有的程序都会被编码为 GBK 格式,所以如果你没有打开过的程序里有中文的话,再更改编码格式之后会出现大量的中文乱码(英文不受影响)。
这个方法的好处是能够一劳永逸,你可以不对每一个文件都重新编码保存,但是带来的后果是你的程序被重新编码之后很可能会出现大量乱码。
第二种方法里的两种方式都能在一定程度上解决问题,请根据自己的需要进行选择。
博客为作者原创,版权所有,保留一切权利。仅供学习和参考,转载必须注明博主ID和转载链接。