解决VSCode文件的中文GBK和UTF-8编码之间乱码问题
NOTE:近日笔者在使用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编码保存和正常打开,可以尽情愉快地编码了。
最后笔者建议:
VSCode的工程文件都设置为UTF-8格式(即使在Keil5 等IDE中我们已将编码格式换成简体中文
),这样会在很大程度上避免很多打开文件和打印程序输出结果的乱码问题,如果要问为什么的话,请看下图
大家如果喜欢用GBK统一的编码格式,也可设置VSCode的代码结果输出指向cmd或powershell,因为cmd或powershell默认是GBK编码格式,如果VSCode的文件为GBK编码格式,则互相兼容。