a.在busybox 中添加 locale support 支持
Busybox Settings --->
General Configuration --->
[*] Enable locale support (system needs locale for this to work)
[*] Support Unicode
[*] Use libc routines for Unicode (else uses internal ones)
b.修改busybox源码目录下的./libbb/printable_string.c
先找到这样一段:
if (c < ' ')
break;
if (c >= 0x7f)
break;
s++;
注释掉某两行(34,35行):
/* if (c >= 0x7f) */
/* break; */
然后找这样一段(48行):
unsigned char c = *d;
if (c == '\0')
break;
if (c < ' ' || c >= 0x7f)
*d = '?';
d++;
把 if (c < ' ' || c >= 0x7f) 改成 if (c < ' ')
c.在系统文件的 /usr/lib 目录下 添加 gconv (字符转换)目录(从PC上复制过来(/usrlib/gconv/))
d.设置系统的 LANG 为 zh_CN.UTF-8
e. 挂载U 盘时指定字符编码
mount -t vfat -o codepage=936,iocharset=utf8 /dev/sda1 /mnt
f. 内核配置
设置 FAT 的默认 codepage 为 936,默认iocharset 为utf8
设置默认语言支持为 cp936(即中文),添加支持的字符集,GB2312,UTF-8
Busybox Settings --->
General Configuration --->
[*] Enable locale support (system needs locale for this to work)
[*] Support Unicode
[*] Use libc routines for Unicode (else uses internal ones)
b.修改busybox源码目录下的./libbb/printable_string.c
先找到这样一段:
if (c < ' ')
break;
if (c >= 0x7f)
break;
s++;
注释掉某两行(34,35行):
/* if (c >= 0x7f) */
/* break; */
然后找这样一段(48行):
unsigned char c = *d;
if (c == '\0')
break;
if (c < ' ' || c >= 0x7f)
*d = '?';
d++;
把 if (c < ' ' || c >= 0x7f) 改成 if (c < ' ')
c.在系统文件的 /usr/lib 目录下 添加 gconv (字符转换)目录(从PC上复制过来(/usrlib/gconv/))
d.设置系统的 LANG 为 zh_CN.UTF-8
e. 挂载U 盘时指定字符编码
mount -t vfat -o codepage=936,iocharset=utf8 /dev/sda1 /mnt
f. 内核配置
设置 FAT 的默认 codepage 为 936,默认iocharset 为utf8
设置默认语言支持为 cp936(即中文),添加支持的字符集,GB2312,UTF-8