转载:http://blog.csdn.net/wavemcu/article/details/7202908
***************************************************************************************************************************
作者:EasyWave 时间:2012.01.15
类别:linux驱动开发 声明:转载,请保留链接
***************************************************************************************************************************
在嵌入式linux系统中,busybox是最常见的用来构建文件系统的。可是从busybox1.17.0以上之后,对ls命令不做修改是无法显 示中文的。就算是内核设置了支持中文的话,在shell下用ls命令也是无法显示中文的,这是因为busybox1.17.0以后版本对中文的支持进行了 限制。现在就来讲讲如何修改让busybox1.17.0以上版本支持中文,要想让busybox1.17.0以上支持中文,需要修改两个文 件:printable_string.c以及unicode.c 。下面来分析,为什么ls命令无法显示中文。请看printable_string.c未修改过的代码:
const char* FAST_FUNC printable_string(uni_stat_t *stats, const char *str) { static char *saved[4]; static unsigned cur_saved; /* = 0 */ char *dst; const char *s; s = str; while (1) { unsigned char c = *s; if (c == '