嵌入式板卡支持中文显示的方法,修改busybox
目录
一、问题描述
二、解决方法
2.1 修改busybox源码
2.2 修改busybox配置项glibc.config
三、测试
本文以Hi3798板卡为例。
一、问题描述
![]()
如上图所示,????1.jpg(中国1.jpg)显示出现问题。
通过查找,是由于高版本中busybox中的ls等指令显示中文(UTF-8编码)出现问题。无法显示一般都是因为编码问题,板卡系统编码以及电脑终端的编码。
二、解决方法
2.1 修改busybox源码
进入SDK/third_party/open_source目录下,找到busybox-1_26_2.tar.bz2,解压,找到./libbb/printable_string.c文件,进行修改。

找到./libbb/unicode.c文件,进行修改。

将修改后的源码重新压缩为busybox-1_26_2.tar.bz2。
2.2 修改busybox配置项glibc.config
在编译3798的配置时,busybox的默认配置文件为glibc.config,该文件位于SDK/source/rootfs/busybox/busybox-1_26_2.config目录下。发现glibc.config文件并没有配置LOCALE,所以要重新生成该配置文件。

拷贝busybox源码至另外一目录下,解压。并将SDK/source/rootfs/busybox/busybox-1_26_2.config/glibc.config文件拷贝至该目录下,重命名为.config,执行:make ARCH=arm menuconfig
进入Busybox Library Tuning配置Enable locale support以及support Unicode,如下所示。

生成的配置选项保存在了该目录下的.config文件,配置项发生了如下的变化。

将该文件重命名为glibc.config,并拷贝至SDK/source/rootfs/busybox/busybox-1_26_2.config目录下。
三、测试
重新编译SDK,并下载固件,进行测试,可现实中文显示。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
