解决VSCode文件的中文GBK和UTF-8编码之间乱码问题
INFO:近日笔者在使用VSCode编码环境的时候,出现了中文和UTF-8两者之间乱码的问题,特编写本片文章,以作学习记录。
1.需求
用VSCode打开外部的GBK2312编码文件,想在VSCode中统一以UTF-8编码查看(笔者推荐UTF-8)
或者用VSCode打开外部的UTF-8编码文件,想在VSCode中统一以GBK2312编码查看。
2.乱码问题和现象
如下图所示。为何会出现这种乱码现象呢?因为main.c文件在VSCode外,已经被以GBK的编码格式保存,但是……但是使用VSCode默认打开的格式是UTF-8,不兼容就发生乱码了。


3.解决方案
这里笔者以上述第1种需求举例,第2种需求以此类推。
解决方案:
1)设置—>搜索“编码”,找到Files:Encoding—>在下拉框选择UTF-8。

2)因为main.c是GBK编码文件,所以我们一定要先使用GBK编码格式将main.c文件重新打开,让其中文显示正常,具体步骤按照下图的步走。



不知道大家是不是到这里觉得显示正常成中文就结束了呢?NONONO,到这里main.c文件的状态只是从
[GBK编码格式保存]变成了[GBK编码格式保存] + [以GBK编码格式打开正常]。
但我们想要的结果是[UTF-8编码格式保存] + [UTF-8编码格式打开正常]…………所以我们继续…………
3)再次点击VSCode右下角的编码处(后面就不作图示,相信大家会操作),先通过编码保存—>选择UTF-8,然后通过编码重新打开—>选择UTF-8,顺序不要搞反。
到这里就告一段落,main.c文件能够以UTF-8编码保存和正常打开,可以尽情愉快地编码了。
4.笔者建议
强烈建议将VSCode的工程文件都统一设置为UTF-8格式(即使在Keil5 等IDE中我们已将编码格式换成简体中文),这样会在很大程度上避免很多打开文件和打印程序输出结果的乱码问题,如果您要问为什么的话,请看下图。

(!!!可以做,但不建议!!!)如果您实在是喜欢用统一的GBK编码格式,可以类比上述【3.解决方案】,将VSCode的工程文件设置为GBK编码打开和保存,然后去设置VSCode的代码结果重定向输出到cmd或powershell即可(在微软中文操作系统中,cmd或powershell的输出默认是GBK编码格式)。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)