欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1325|回復: 4
打印 上一主題 下一主題
收起左側

keil中文選擇GB2312 編譯結果還是UTF-8,怎么解決

[復制鏈接]
跳轉到指定樓層
樓主


如題 看圖 做stm32f103rc 驅動oled中文顯示,編碼明明選擇的時gb2312,主程序內調用顯示中文字符OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
中文字符串編譯結果卻是 UTF-8編碼,而字庫內中文字庫索引表Chinese_SY內中文確實gb2312編碼,試了很多方法不行。
也就是同樣設置 字庫編譯結果是gb2312碼, 主程序編譯結果是UTF-8.
字庫子程序從其他項目拷貝來的,同一個電腦在51平臺運行正常。
  中文字符“電壓”在字庫子程序Chinese_SY編譯后為B5 E7 ,D1 B9  是gb2312,而主程序"電流 00.0V"編譯后代碼為 E7 94 B5,E6 B5 81是UTF-8編碼,后面
00.0V 編譯結果 20 30 30 2E 30 正確。
  試過更換編碼格式 編譯后再改回來,從其他文件拷貝粘貼字符,都不行。
又測試一下 中文顯示 放在OLED.c           void disp_dy(void){
                                               OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
                                            }

主程序調用disp_dy(); 編譯結果正常顯示正常
把子程序OLED.c   拷貝到其他項目,又不行編譯結果又是UTF——8格式,怎么改工程某個文件編碼格式.。keil 5.14版本 MDK-arm 5.34
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:309610 發表于 2025-1-12 16:08 | 只看該作者
自己頂一下吧
    又折騰幾個小時反復測試,使用江科大的工程模板做的工程都存在編碼錯誤,設置里面修改編碼格式程序內中文不會隨著改變,始終顯示中文。
   又換了野火工程模板 隨著設置編碼格式修改,代碼中的中文也隨之改變正常或亂碼,使用ANSCI或GB2312都可以,推薦ANSCI。
  以前一直用江科大的模板,習慣了比較方便,現在都要換模板,請教高手誰說一下不能切換編碼格式是怎么回事是模板缺少某些文件嗎,怎么修復。  
回復

使用道具 舉報

板凳
ID:161164 發表于 2025-1-13 15:27 | 只看該作者
用notepad++打開
可以轉換編碼

回復

使用道具 舉報

地板
ID:309610 發表于 2025-1-18 00:26 | 只看該作者
   用notepad++試了不行,最后又換了一個模板,重建了工程,開始還行添加顯示驅動子程序后就中文不能轉碼了,也就是keil內修改編碼,程序內中文顯示無變化,選的GB2312編譯后還是UTF8
    把子程序文件刪除,重新創建新的子程序,打開舊工程,拷貝代碼到新子程序文件。舊代碼能正常顯示的中文到新工程就全是亂碼,怎么轉換都是亂碼,但是重新輸入中文就正常了,能正常切換編碼格式。重新修改代碼內中文字符就可以正常編譯了,編譯后運行正常,。但是拷貝過來的代碼中文注釋就全是亂碼,改不過來。
   總結是子程序代碼移植中,反復移植編譯,keil默認編譯使用UTF8編碼,發生了Bug。莫個子程序編碼錯誤,移植后雖然顯示正常,但其實用的是UTF8編碼,移植后與整體工程不符,造成工程其他代碼是GB2312,而OLED驅動是UTF8。就需要出錯的子文件刪除重建了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表