标题: 为什么我的LCD12864的汉字索引 显示某些字的时候会乱码出错? [打印本页]

作者: lkkkk坤    时间: 2022-5-27 10:54
标题: 为什么我的LCD12864的汉字索引 显示某些字的时候会乱码出错?
这个  "数"   为什么不能正常显示啊  然后我用的还是这个"数"字的字模  我就把它索引的名字改一下就能正常显示了  这是什么原因啊 怎么样才能不改索引去解决这个问题啊

-3dc71793023e945d.png (814.95 KB, 下载次数: 103)

-3dc71793023e945d.png

-47cf7a7549436373.png (32.88 KB, 下载次数: 99)

-47cf7a7549436373.png

-283110b224299879.png (551.76 KB, 下载次数: 143)

-283110b224299879.png

7d83490a0177be0e.png (52.33 KB, 下载次数: 103)

7d83490a0177be0e.png

作者: 人人学会单片机    时间: 2022-5-27 12:02
这个是 keil 软件 臭名昭著的BUG,具体原因的GB2312编码使用了0xFD。导致编码表里面的这些汉字 都不能显示(褒饼昌除待谍洱俘庚过糊积箭烬君魁例笼慢谬凝琵讫驱三升数她听妄锡淆旋妖引育札正铸佚冽邶
埤荦蔟摭啐帻猃恺泯潺妪纨琮椠辇挲臊忑睚铨稞瘕颀螨簖酏觚鳊鼾),需要在这些汉字的后面加上\xfd。如下格式 即可:
字库里面  "数\xfd",{0x90,0x52,0x34,0x10,0xFF........},
使用调用  LCD12864_Display_Chinese(0,0,"数\xfd学");
作者: 人人学会单片机    时间: 2022-5-27 12:25
keil 里面使用这些汉字 可以加\xfd, 如果是keil C251之类的,新建工程的时候,绝对不能用这些汉字的。比如驱动的驱,建议改成 区动 。
作者: lhzw2001    时间: 2022-5-27 14:37
0xFD修正一下
作者: lkkkk坤    时间: 2022-5-27 15:07
人人学会单片机 发表于 2022-5-27 12:02
这个是 keil 软件 臭名昭著的BUG,具体原因的GB2312编码使用了0xFD。导致编码表里面的这些汉字 都不能显示 ...

也就是说需要加两个\xfd , 在那个汉字字模里面加一个\xfd  , 然后调用这个函数的时候还得在这个函数的里面加个\xfd吗,一共需要使用两个对吗
作者: npn    时间: 2022-5-27 15:09
Keil不是国产软件,代码内原则上不要出现中文、全角、日文等其他符号 (注释除外),以免编码出问题,将其全部转换成 \xHH 编码。
作者: 名字不是重点    时间: 2022-5-27 16:26
打个补丁就可以了,
作者: 人人学会单片机    时间: 2022-5-27 18:23
lkkkk坤 发表于 2022-5-27 15:07
也就是说需要加两个\xfd , 在那个汉字字模里面加一个\xfd  , 然后调用这个函数的时候还得在这个函数的 ...

是的 我这几天刚刚做测试 所以第一时间帮你解答了
作者: npn    时间: 2022-5-27 19:29
名字不是重点 发表于 2022-5-27 16:26
打个补丁就可以了,

补丁不要乱打,否则可能会编译出错误的指令出现问题。
作者: lkkkk坤    时间: 2022-5-29 14:36
lhzw2001 发表于 2022-5-27 14:37
0xFD修正一下

什么意思啊  有点不懂




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1