引言
与解决codeblocks乱码方法相似
本人C语言初学者一枚,之前使用codeblock时就曾出现输出中文乱码的问题,自己通过网上搜教程解决。
有一天想配置配置vscode。配置好了以后,下载vscode后也出现了输出中文的乱码问题,用与codeblocks相似的解决方法解除之,又发现网上都是将编码转为GBK(这样用其他应用打开时可能又会出现乱码),好像没有提到这个方法,特此记录之。希望像我一样的初学者可以解决类似的问题。
中文乱码出现的原因
是因为中文主要有两套编码,一套是GBK,一套是UTF-8,代码编辑器一般默认用UTF-8,而在输出的终端中默认是GBK,所以在UTF-8下的中文输出到GBK的终端自然会乱码。
要解决这个问题,我们可以不用改变文件的编码,而是给编译器加一条指令,让编译器执行时把UTF-8转成GBK给终端,就能解决问题了!
问题解决过程
配置好vscode后,在工作区会有C++插件自动产生的json文件,json我将其理解成一种配置文件,新手不要觉得它没有UI界面,所以打开之后怵的慌,其实他就是几条设置。
具体设置:
打开vscode,按ctrl+shift+p打开控制面板,搜索C/C++:编辑配置(JSON),按enter进入,会打开一个叫c_cpp_properties的json配置文件,按图中操作即可。(觉得json真的看着不习惯的话搜索C/C++:编辑配置(UI),找到相应的那一项更改,也没问题)
"-fexec-charset=GBK", //复制这条语句到下图所示的位置(UI界面把引号和逗号去掉)
在如图所示的UI界面进行更改或在json文件中进行更改(选择其中一种方法就行)
UI界面👆 json文件👇
更改之后再尝试输出,应该就会成功了!(可以看到我的终端正确的输出了中文)
其他的可行方案总结
1.将代码格式全部转换为GBK,可能需要将所有编辑器的默认编码都设为GBK,且传给他人也容易乱码。
2.在设置里将整个系统(包含终端)的代码改为UTF-8,优点是根本上解决了输出乱码;但本人尝试过,缺点也很大。就是电脑上其他用GBK编写的软件都会出现错误,相当于用大错误换小错误,可以尝试,但不推荐。
结语
这是我的第一篇文章, 写这篇文章的初衷就是想帮助跟我一样的新手。
本文纯手打,如有雷同是真的纯属巧合😀,写字贴图不易,有用的话给个赞吧。~
版权归原作者 啥也不⑩ 所有, 如有侵权,请联系我们删除。