解决vscode中文乱码问题(不是转GBK,亲测有效)

引言

        与解决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文件中进行更改(选择其中一种方法就行)

解决vscode中文乱码问题(不是转GBK,亲测有效)_第1张图片

UI界面        json文件

解决vscode中文乱码问题(不是转GBK,亲测有效)_第2张图片

 更改之后再尝试输出,应该就会成功了!(可以看到我的终端正确的输出了中文)

其他的可行方案总结

1.将代码格式全部转换为GBK,可能需要将所有编辑器的默认编码都设为GBK,且传给他人也容易乱码。

2.在设置里将整个系统(包含终端)的代码改为UTF-8,优点是根本上解决了输出乱码;但本人尝试过,缺点也很大。就是电脑上其他用GBK编写的软件都会出现错误,相当于用大错误换小错误,可以尝试,但不推荐。

结语

这是我的第一篇文章, 写这篇文章的初衷就是想帮助跟我一样的新手。

本文纯手打,如有雷同纯属巧合,写字贴图不易,有用的话给个赞吧。~

ps:如果我的方法没用,可以看一下评论区的解决办法

你可能感兴趣的:(vscode,c++,c语言)