嵌入式板卡支持中文显示的方法,修改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,并下载固件,进行测试,可现实中文显示。


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部