前言
一般来说,因为我们写代码时难免需要借鉴复制,字符编码的问题出现频率还是很高的。
字符编码其实还是复杂的,之前是小视了它,今天来大概分析一下,不知道有没有人遇到一样的问题。
问题复现场景
-
首先打开一个之前默认的项目,编码默认是GB2312
-
这个时候粘贴过来一段代码,表面没有显示乱码,右击也没有显示乱码。
-
这个时候想要换成UTF-8的编码,看起来舒服点
-
发现所有中文都变成了乱码
-
想想换回去算了,于是换回GB2312编码,好了,上面这个Go to Definition of这个玩意换不回来了。不过在我单独使用一个文件复现的时候,下面的问题没有出现。有一个一直使用的工程,不管怎么切换编码,一直会出现右击乱码的事件。
-
它影响到了什么呢,正好我在用外接打印机,它影响到外接打印机输出乱码。
小结
简单地说,也就是表面上编码是没问题的,打中文以及注释都没有错误,只能从右键看出来。而且用打印机打印是有问题的。
解决
经过尝试,复制到另一个没有反复折腾的工程里没出现这个问题。
最后只能重建了一个工程,文件都没直接复制到库函数的文件里,而是一个个添加的,这下打印出来没问题了。
分享
如果有大佬遇过同样的问题或者有更好的解决方案,欢迎讨论。