Keil C51在编译的时候会将0xFD的字符(有些汉字含有该字符的内码)过滤,而导致编码与实际不符,如“三”实际编码:0XC8FD,而Keil C51则输出为0xC800。
keil官方
由于涉及该BUG的汉字并不是很多,所以推荐“加后缀”的方法
具体方法:遇到无法显示字符时在其后加\xFD
如:unsignedchar code s[]=“数学”;改为unsignedchar code s[]=“数\xFD学”;即可正常显示。
2、使用HexEditor编辑Keil安装目录下的/keil/c51/bin/c51.exe文件,搜索80FBFD改成80FBFF
如果使用汇编则修改A51.exe.