(相关资料图)
最近又用到了LCD12864液晶屏,而且是并口的,就从STC-ISP的范例程序中借鉴了一下,如下图所示。
我们看到显示汉字是正常的。
在用VS Code编辑的时候,由于注释中的汉字出现乱码,便把编码方式由GB2312改为UTF-8,再经Keil编译之后,下载到STC15W4K48S4中,显示就成了这样子:
以为是Keil原来的0xFD问题,在汉字后面都加了\xfd,还是不行,最后才发现是把C源文件的编码方式由GB2312改为UTF-8的原因,汉字的这两种编码方式是不同的,而12864汉字库用的是GB2312的编码。
把C源文件的编码由UTF-8改为GB2312之后,大部分汉字的显示正常了,但是含0xFD的汉字,问题依然存在,不过只要在它后面加上“\xfd",就可以正常显示了。比如过字,我们在网上查它的编码如下:
所以在程序中需要这样处理:
下面是正常显示的画面。
编译器已经是9.60了,看来Keil是不打算解决这个问题了。
花了不少时间才解决问题,所以作此文便于以后查阅,也希望对遇到同样问题的朋友们有所帮助。