找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

keil中文选择GB2312 编译结果还是UTF-8,怎么解决

查看数: 1900 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-1-11 22:20

正文摘要:

如题 看图 做stm32f103rc 驱动oled中文显示,编码明明选择的时gb2312,主程序内调用显示中文字符OLED_ShowChineseString(0, 0,"电流 00.0V",16, 1); 中文字符串编译结果却是 UTF-8编码,而字库内中文字 ...

回复

ID:309610 发表于 2025-1-18 00:26
   用notepad++试了不行,最后又换了一个模板,重建了工程,开始还行添加显示驱动子程序后就中文不能转码了,也就是keil内修改编码,程序内中文显示无变化,选的GB2312编译后还是UTF8
    把子程序文件删除,重新创建新的子程序,打开旧工程,拷贝代码到新子程序文件。旧代码能正常显示的中文到新工程就全是乱码,怎么转换都是乱码,但是重新输入中文就正常了,能正常切换编码格式。重新修改代码内中文字符就可以正常编译了,编译后运行正常,。但是拷贝过来的代码中文注释就全是乱码,改不过来。
   总结是子程序代码移植中,反复移植编译,keil默认编译使用UTF8编码,发生了Bug。莫个子程序编码错误,移植后虽然显示正常,但其实用的是UTF8编码,移植后与整体工程不符,造成工程其他代码是GB2312,而OLED驱动是UTF8。就需要出错的子文件删除重建了。
ID:161164 发表于 2025-1-13 15:27
用notepad++打开
可以转换编码

ID:309610 发表于 2025-1-12 16:08
自己顶一下吧
    又折腾几个小时反复测试,使用江科大的工程模板做的工程都存在编码错误,设置里面修改编码格式程序内中文不会随着改变,始终显示中文。
   又换了野火工程模板 随着设置编码格式修改,代码中的中文也随之改变正常或乱码,使用ANSCI或GB2312都可以,推荐ANSCI。
  以前一直用江科大的模板,习惯了比较方便,现在都要换模板,请教高手谁说一下不能切换编码格式是怎么回事是模板缺少某些文件吗,怎么修复。  

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表