您尚未登录。

楼主 # 2021-05-27 00:45:14

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 119
积分: 95.5

KEIL开发LVGL显示汉字不能正常显示

1.keil的编码方式设置为UTF-8
2.用阿里兄弟的字体转换工具转换的库
3.keil编写代码后下载到单片机失败
4.在3的基础上删掉汉字,并且写入字符 “123456”  ------->显示正常
5.在4的基础上改回汉字------->显示失败
6.utf-8.png
现在唯一看到的就是这个了  不知道是不是这个原因
7.KEIL改回为GB2312显示  下载代码  还是显示失败

大佬们有什么方法 求指点

离线

#1 2021-05-27 10:38:59

小智
会员
注册时间: 2019-10-16
已发帖子: 98
积分: 95

Re: KEIL开发LVGL显示汉字不能正常显示

试试把字符转换成\x31 \x32这类或者\u这类,试试,这样再也不用担心编码问题了
http://www.msxindl.com/tools/unicode16.asp
http://www.ab126.com/goju/10861.html
https://the-x.cn/encodings/Hex.aspx

最近编辑记录 小智 (2021-05-27 10:54:33)

离线

#2 2021-05-27 11:29:28

xk100
会员
注册时间: 2018-12-13
已发帖子: 55
积分: 25.5

Re: KEIL开发LVGL显示汉字不能正常显示

应该是你文件编码方式不对。

离线

楼主 #3 2021-05-27 16:54:00

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 119
积分: 95.5

Re: KEIL开发LVGL显示汉字不能正常显示

小智 说:

试试把字符转换成\x31 \x32这类或者\u这类,试试,这样再也不用担心编码问题了
http://www.msxindl.com/tools/unicode16.asp
http://www.ab126.com/goju/10861.html
https://the-x.cn/encodings/Hex.aspx

这样是可以的 我试过  这种方式显示汉字是正确的  但是直接"我们"这种方式就不行了

离线

#4 2021-05-27 17:25:48

小智
会员
注册时间: 2019-10-16
已发帖子: 98
积分: 95

Re: KEIL开发LVGL显示汉字不能正常显示

@伍零壹
好说,直接用记事本打开C文件,另存为,选择编码格式,搞定

离线

#5 2021-05-28 08:05:48

kingwho
会员
注册时间: 2020-01-05
已发帖子: 21
积分: 15
个人网站

Re: KEIL开发LVGL显示汉字不能正常显示

将编码格式改为utf-8后,把字符删掉,重新再打出来呢。这个我也有一个问题,就是如果汉字个数为奇数个就会报错,这个是怎么回事呢

离线

楼主 #6 2021-05-28 08:18:19

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 119
积分: 95.5

Re: KEIL开发LVGL显示汉字不能正常显示

小智 说:

@伍零壹
好说,直接用记事本打开C文件,另存为,选择编码格式,搞定

是的,我昨天晚上试了  这种方法可以,在KEIL的encoding里面设置不行。还有就是我用notepad++转为UTF-8试了不行,用记事本转的可以。不知道为什么。

离线

楼主 #7 2021-05-28 08:18:53

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 119
积分: 95.5

Re: KEIL开发LVGL显示汉字不能正常显示

kingwho 说:

将编码格式改为utf-8后,把字符删掉,重新再打出来呢。这个我也有一个问题,就是如果汉字个数为奇数个就会报错,这个是怎么回事呢

你说的奇偶这种我么有与遇到过

离线

#8 2021-05-28 08:28:48

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 501
积分: 464

Re: KEIL开发LVGL显示汉字不能正常显示

@伍零壹
可能是 with bom和no bom的区别,就是with bom在文件头多四个字节。

离线

#9 2021-05-28 10:10:20

wujique
会员
注册时间: 2018-10-30
已发帖子: 131
积分: 130

Re: KEIL开发LVGL显示汉字不能正常显示

不清楚阿里字体库跟LVGL是怎么联系的。

普通的单片机开发:
1 文件默认都是ANSI编码,内嵌的汉字用GBK编译后得到的内容是GBK。
2 程序中,也是根据GBK定位算法对字库进行寻址。
3 包含的点阵文件也是按照GBK排布。

意思是要用汉字,三方面的规格要匹配:
输入的内容,取字体算法,字体本身。

你现在用的源码文件时UTF8,编译后得到的应该是unicode,那么找字算法和字体库都要是unicode。
或者进行编码转换后再对GBK字库寻址。

http://www.wujique.com/2021/05/15/elementor-811/
http://www.wujique.com/2020/05/10/%e5%8d%95%e7%89%87%e6%9c%ba%e6%ba%90%e7%a0%81%e4%b8%ad%e6%96%87%e5%a4%9a%e5%b9%b3%e5%8f%b0%e4%b9%b1%e7%a0%81%e9%97%ae%e9%a2%98/

离线

楼主 #10 2021-05-28 11:21:07

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 119
积分: 95.5

Re: KEIL开发LVGL显示汉字不能正常显示

@wujique
大佬牛逼  我昨天在论坛找了一份GBK转unicode的C代码,现在显示汉字没什么问题了。貌似fatfs的CC936文件里面有函数支持编码转换的

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn