0%

关于VS Code运行C++中文乱码问题

在几个编辑器里面,VS Code已经算是比较优秀,有插件可以很方便编译和运行c++的,但是因为特殊需要要输出中文,结果发现乱码。。搜索了一通选择了我个人觉得比较方便的方法

这里我编译运行是采用code runner的,但应该对task配置的方法也适用,不过这里强烈推荐code runner

首先说说乱码的原因,其实就是cmdpowershell在中文的Windows下默认编码是GBK,而编译输出的文件是UTF-8,于是导致了乱码

其实在git bash里直接运行把编译好的exe是没有编码问题的,不过在VS Code中也似乎变成了GBK的编码

既然是编码问题,那么可以直接把terminal的编码改成UTF-8,这样就可以了。
但是搜索了以下, 直接修改会导致一些程序的错误。
实际上,我们只是需要运行的环境是UTF-8编码而已,因此只需要命令修改编译运行时的terminal的编码即可。

修改编码的命令是:chcp 65001

我们需要将这个命令集成到编译运行的命令里
打开用户的setting.json,也可以通过code runnerextention settingexecutorMap进入
添加以下内容,这里后面的命令是插件自己的命令,没有修改

1
2
3
"code-runner.executorMap": {
"cpp": "chcp 65001 && cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},

保存后就会运行这条命令了,可以解决中文乱码的问题