|
錯(cuò)誤.png (731.74 KB, 下載次數(shù): 0)
下載附件
2025-1-11 22:01 上傳
如題 看圖 做stm32f103rc 驅(qū)動(dòng)oled中文顯示,編碼明明選擇的時(shí)gb2312,主程序內(nèi)調(diào)用顯示中文字符OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
中文字符串編譯結(jié)果卻是 UTF-8編碼,而字庫內(nèi)中文字庫索引表Chinese_SY內(nèi)中文確實(shí)gb2312編碼,試了很多方法不行。
也就是同樣設(shè)置 字庫編譯結(jié)果是gb2312碼, 主程序編譯結(jié)果是UTF-8.
字庫子程序從其他項(xiàng)目拷貝來的,同一個(gè)電腦在51平臺(tái)運(yùn)行正常。
中文字符“電壓”在字庫子程序Chinese_SY編譯后為B5 E7 ,D1 B9 是gb2312,而主程序"電流 00.0V"編譯后代碼為 E7 94 B5,E6 B5 81是UTF-8編碼,后面
00.0V 編譯結(jié)果 20 30 30 2E 30 正確。
試過更換編碼格式 編譯后再改回來,從其他文件拷貝粘貼字符,都不行。
又測試一下 中文顯示 放在OLED.c void disp_dy(void){
OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
}
主程序調(diào)用disp_dy(); 編譯結(jié)果正常顯示正常
把子程序OLED.c 拷貝到其他項(xiàng)目,又不行編譯結(jié)果又是UTF——8格式,怎么改工程某個(gè)文件編碼格式.。keil 5.14版本 MDK-arm 5.34
|
|