|
|

楼主 |
发表于 2021-10-19 13:39:51
|
显示全部楼层
本帖最后由 hrpzcf 于 2021-10-19 13:50 编辑
你图片看的是json文件的编码,应该看.c文件的编码,你的源码文件编码应该是GBK。往下看:
两个办法:
A.
保持源代码文件GBK编码不用改。
把vscode设置文件中coderunner设置参数的-fexec-charset=GBK参数去掉。
以后每次在vscode新建源代码文件后,如果右下角不是gbk,点击它,以gbk编码重新保存(将文件编码改为gbk)。
这时候coderunner运行就编译正常,中文就输出正常。
但是使用vscode的调试功能仍然中文输出乱码,所以对于每个项目,还要将.vscode文件夹内的tasks.json配置文件中增加一条编译命令:-finput-charset=GBK
这样,连调试功能也能正常输出中文了。
这个是最简单的办法,建议用这个。
B. 保证源代码文件是utf8编码,如果不是utf-8编码,把它重新保存为utf-8。
在coderunner的编译自动命令中增加 -fexec-charset=GBK 命令使编译出的程序以GBK编码输出。(这个就是我在楼下发给你的配置文件的做法,里面的C/C++编译命令有-fexec-charset=GBK参数)
但是使用vscode的调试功能仍然中文输出乱码,对于每个项目,还要将.vscode文件夹内的tasks.json配置文件中增加一条编译命令:-finput-charset=UTF-8,刚好跟上面的A方法相反。
这个这个就比较麻烦,在coderunner的自动编译命令里增加这个参数容易,但是万一如果想手动输入命令编译,手动输入-fexec-charset=GBK就显得又臭又长。
注:乱码的起因是vs code默认新建的源代码是utf8编码,编译出的程序也是输UTF-8编码,而windows的终端默认接受GBK编码。所以要么让程序输出GBK,要么让win终端接受UTF8(linux下就没有这些乱七八糟的问题)
|
|