【嵌入式Linux】[串口]:串口打印时,文件系统中的中文内容乱码,U盘中文内容乱码

2019-07-12 22:48发布

报错: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! 这是由于因为内核没有配置好,需要添加本地语言支持,还有IO数据流(如:U盘)的默认语言格式也需要你内核中的语言格式支持 解决方法: File systems  ---> Native Language Support  --->//本地语言支持     (utf8) Default NLS Option                //此括号内为utf8(注意大小写) <*>   Simplified Chinese charset (CP936, GB2312)//简体中文的字符格式 <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)//拉丁1,西欧洲语言 <*>   NLS UTF-8        DOS/FAT/NT Filesystems  --->
              (936) Default codepage for FAT  //文件系统所有文字的默认语言格式编码
              (utf8) Default iocharset for FAT //字符流的语言格式编码(如:U盘显示的文字编码) 注:其实挂载U盘或者其他设备时,是可以指定文字编码的。 如:挂载U盤时, #mount  -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/udisk 1)-t vfat: 表示 挂载的设备的文件系统的格式,这里U盘属于vfat格式 2)-o iocharset=cp936:表示指定挂载时的字符编码为cp936 。需要注意是:前提是内核支持了cp936字符编码,上面的设置就是添加字符编码的。 3)   /dev/$MDEV :挂载的设备名。$MDEV是个变量,表示设备名,如:sda1等。 4) /mnt/udisk :挂载的路径,即是将设备挂载到哪里,以便访问。挂载后,/mnt/udisk中就是U盘的内容。