(一)中文乱码出现的原因
1.关于编码
世界上语言文字、符号文字丰富多彩;为了存放不同的文字符号,就有了不同的编码格式。常使用的有GB、GBK以及Unicode等等。
2.乱码
每种编码格式能容纳的字符是有一定的数量限制的,当输入一个字符不属于改编码格式的范畴之内,便会使用一种特定的符号来表示这个字符,也就是人们常说的乱码。
3.keil工程导入vscode出现乱码
以我个人的KEIL为例说明
在我的keil设置界面中Encoding选项中,编码格式是ChineseGB2312,当我把这个工程文件导入到vscode当中时,就出现了❓❓的乱码,因为vscode的默认编码格式为UTF-8。
但是有小伙伴再将编码格式修改为GB2312时,乱码不仅没有解决,反而❓❓变成了一大堆“锟斤铐”的乱码。
关于为啥会出现这个问题,这里放一下b站up主柴知道的视频,他做出更有原理性的解释。点击这里就能跳转观看。
(二)解决方法
明白了原理,解决就有了思路。就是修改vscode工程的默认打开编码格式,要与keil工程中的一致就行了。
在vscode的设置中输入encoding进入修改编码格式界面,
其中第一项 Files:Auto Guess Encoding
的意思是让vscode在导入工程时自动识别工程的编码格式,并与调整为与之一致。
第二项 Files:Encoding
的意思就是修改vscode的默认编码格式,我这里修改为了GB2312。
当然并不是说两项都必须这样设置,选择哪一种方式可以按照自己的喜好来进行设置。