嵌入式linux无法显示中文问题

2019-07-12 14:23发布

1. 前言       网上关于嵌入式linux无法显示中文问题的文章很多,但又没有彻底的解决我的问题,甚是纠结啊...具体不支持的原因是busybox1.17.0之后的版本,shell命令行对中文输入及显示做了强制限制,所以即使内核设置了对中文的支持,但在shell下依然无法显示中文。2. 问题现象挂载U盘后,U盘内部为中文的目录和文件分别显示?????
针对此种问题需修改如下:a. 去掉文件系统对中文的限制
b. 添加内核对中文字符编码的支持(本文档以UTF-8为例)
c. 应用程序选择合适的字符编码(本文档以串口终端软件设置为例)
3. 问题修改3.1 设置CRT终端为UTF8格式
3.2 busybox修改      本文档以busybox-1.22.1为例,描述如何修改busybox源码。
3.2.1 修改busybox-1.22.1/libbb/printable_string.c
const char* FAST_FUNC printable_string(uni_stat_t *stats, const char *str) { char *dst; const char *s; s = str; while (1) { unsigned char c = *s; if (c == '