大家在使用source insight的时候经常遇到中文注释乱码,有些项目在屏幕上显示中文或者发出tts也会在代码里写中文,都有可能乱码,解决方案如下:点击左上角file:
点击reload as encoding:
一个个的试,先选UTF-8,点击load,不行就换UTF-8 with bom,一个个的试,常见的就是UTF8 ANSI 18030 2312。
有可能你都试过了还是乱码,这里就涉及source insight的机制问题了。举个例子,如果源文件是用UTF-8编辑的,分以下几种情况:
1、你啥都没干,那么你用source insight打开后,按上述的步骤选UTF-8就行了。
2、你用source insigth打开后,按上述的步骤选择GB2312,可以看到中文会乱码,关闭文件,再打开,再选UTF-8,显示还是正常的。
3、你用source insigth打开后,按上述的步骤选择GB2312,可以看到中文会乱码,保存文件,再关闭文件,再打开,再选UTF-8,依然乱码。这种情况下只能再找源文件了。
综上所述,如果切换了编码导致中文乱码的话,只能看,不能保存,一旦保存,哪怕你什么都没改,下次再打开文件,即使改成源文件编辑时使用的编码,还是会乱码。
我遇到这种情况是因为以前的工程师留的坑,在同一个.c里,一个函数的中文注释用UTF8编辑,另一个函数的定义部分出现的中文用2312编辑,肯定是不同工程师写的,我在看代码的时候,如果想看前一个函数的注释,就要设置为UTF8看,此时如果点保存,哪怕什么都没改,关闭.c再打开,哪怕设置为2312,第二个函数的中文也是乱码。同理,如果最初的时候,我想看第二个函数的中文,设置为2312,点保存,关闭.c再打开,哪怕设置为UTF8,第一个函数的中文注释也是乱码。
还遇到过1.c是UTF8,2.c是2312,如果当前的设置是UTF8,打开2.c就会看到乱码,但是这部分中文我暂时不需要看,我看的是这个文件的其他部分,所以我没有设置到2312,然后点了保存或者save all,以后2.c的中文就是乱码,设置2312也是乱码。