一、问题现象

嵌入式系统中,U盘挂载后中文显示?

二、原因分析

  1. 内核选项未开启对中文的支持
  2. busybox 1.17之后对中文支持有限制,需要开启一些选项

三、解决方法

1. 内核选项开启

    CONFIG_NLS_UTF8=y

2. 挂载选项

    mount -t vfat -o iocharset=utf8 /dev/sda1 /mnt/USB
   
    -t 是指分区格式,这个是FAT格式U盘
    -o iocharset 挂载文件系统指定编码

3. busybox选项开启

    CONFIG_UNICODE_SUPPORT=y
    # CONFIG_UNICODE_USING_LOCALE is not set
    # CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
    CONFIG_SUBST_WCHAR=63
    CONFIG_LAST_SUPPORTED_WCHAR=200000
    # CONFIG_UNICODE_COMBINING_WCHARS is not set
    CONFIG_UNICODE_WIDE_WCHARS=y
    CONFIG_UNICODE_BIDI_SUPPORT=y
    # CONFIG_UNICODE_NEUTRAL_TABLE is not set
    CONFIG_UNICODE_PRESERVE_BROKEN=y
最后修改:2022 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏