OpenEdv-开源电子网

 找回密码
 立即注册
查看: 353|回复: 2

LVGL终于能正常显示中文了

[复制链接]

13

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
733
金钱
733
注册时间
2018-12-19
在线时间
154 小时
发表于 2024-3-23 12:12:39 | 显示全部楼层 |阅读模式
本帖最后由 854278507 于 2024-3-23 12:16 编辑

坑爹的LVGL显示中文一直不太友好,如果是显示固定的中文还好,把中文做成字符串数组,文件保存为UTF8格式编码。
最近在用LVGL做文件管理,要能显示任意中文,就不太好办了,一直显示乱码,研究了两天终于找到原因。
Keil里面的中文默认是用GBK编码,FATFS用的是UNICODE编码,LVGL显示字符串用的是UTF8编码,坑爹玩意,编码标准就不能统一吗?
不管是哪种编码都是一个英文字符占用一个字节。
GBK编码,一个中文字符占用两个字节,
UNICODE编码,一个中文字符占用两个字节,
坑爹的UTF8编码,一个中文字符占用三个字节。
FATFS有个OEM转UNI和UNI转OEM,可以实现GBK跟UNICODE相互转换,GBK跟UTF8目前还没看到可以相互转换的程序和表格,我就花了一点时间做了GBK转UTF8和UTF8转GBK的程序和表格,分享给踩坑的网友。
utf82gbk.rar (132.54 KB, 下载次数: 11)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
733
金钱
733
注册时间
2018-12-19
在线时间
154 小时
 楼主| 发表于 2024-3-23 12:14:06 | 显示全部楼层
由于表格数量巨大,建议使用512KB Flash以上的芯片,或者是把这些数据放到外部Flash芯片。
回复 支持 反对

使用道具 举报

13

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
733
金钱
733
注册时间
2018-12-19
在线时间
154 小时
 楼主| 发表于 2024-3-23 12:19:21 | 显示全部楼层
有了GBK转换UTF8的程序,就可以在Keil里面使用GBK编码的中文字符了,送到LVGL显示之前先把GBK编码的中文字符串转换成UTF8编码的字符串,同样从LVGL获取到的UTF8字符串也要转换成GBK编码的字符串,才能正常使用串口打印或者在Keil里面进行别的操作,比如字符串对比,看一下是选中了哪个功能
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-15 02:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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