正点原子阿尔法 linux 开发板插入U盘,无法显示中文文件名的解决方案

插入 U 盘 (FAT文件系统)后
在这里插入图片描述
造成这种现象的原因是:挂接 U盘 的时候没有指定相应的字符编码集。

解决的方法也比较简单,就是先卸载挂接的 U盘 ,然后再重新挂接,只不过在重新挂接的时候要指定编码集。

下面以正点原子阿尔法 linux 开发板的出厂文件系统为例进行讲解。

当插入U盘后,如何查看当前挂载的内容呢?(在【正点原子】I.MX6U 开发板文件拷贝及固件更新参考手册V1.2.pdf 中也提到了,这里只是截图)

首先,
在这里插入图片描述
之后,
在这里插入图片描述
也就是说 我们插入的 U盘 挂接在 /run/media/sda1 这个目录下了。

下面再来详细说说如何解决中文显示的问题。

需要用到两个 Linux 命令 - mount(挂接) 和 umount(卸载)

对于 umount 而言,很简单。直接是 umount + 要卸载的目录。比如这里要卸载的是 /run/media/sda1 下的目录。
卸载之前,文件中的内容是这个样子:
在这里插入图片描述
使用 umount 命令来卸载:

root@ATK-IMX6U:/run/media# umount sda1/

注意:我这里进入到 media 目录后才输入的命令。

卸载之后,再尝试进入 sda1/ 看看,
在这里插入图片描述
会发现没有内容了,这就说明卸载成功了。

下面再来使用 mount 命令来挂接这个 U盘,并在挂接时指定字符编码集。

root@ATK-IMX6U:/run/media# mount -o iocharset=cp936 /dev/sda1 ./sda1/

注意:我这里进入到 media 目录后才输入的命令。

边做边写的,写到这,我又重新做了一遍,我真是日了狗了,TMD 再试上面这句代码居然不灵了。给我报出下面这个问题:
在这里插入图片描述
为了证明,我一开始是成功的,我把成功的那次截图也放在下面:
在这里插入图片描述
真是的,服气了!!!

后面又是重启开发板好多次,依然是这样,难道成功的那次是巧合?憨憨!!!

算了,我现在将 cp936 换成了 utf8 试了试,虽然会报提示,但是好歹能显示中文。
命令如下:

root@ATK-IMX6U:/run/media# mount -o iocharset=utf8 /dev/sda1 ./sda1/

注意:我这里进入到 media 目录后才输入的命令。

显示效果如下:
在这里插入图片描述
报的提示是下面:
在这里插入图片描述
意思是:FAT-fs (sda1): utf8 不是 FAT 文件系统推荐的 IO 字符集,文件系统将区分大小写!

我想了下:造成这种现象是不是也有可能是优盘的问题,毕竟我这个优盘质量不是很好。

所以,如果再次遇到这个问题,可以先首先试试 cp936 ,不行的话就试试 utf8 吧,不纠结了。

最后,再来说一下挂接的这句代码。

mount -o iocharset=cp936 /dev/sda1 ./sda1/

mout 表示挂接命令,
-o [option] 表示命令选项,这里 option 为 iocharset 指定字符集,
/dev/sda1 是要挂接的设备,
./sda1/ 是挂接在哪个目录下,这里是 sda1/ 这个目录下。

补充:一般还有 -t 参数来指定要挂接的这个设备是什么文件系统,但通常不进行指定,因为系统会自动识别。

补充:CP936其实就是GBK,IBM在发明Code Page的时候将GBK放在第936页,所以叫CP936。

如果要进行完善,可能就要修改内核或者文件系统了吧,我这里使用出厂系统,只为图省事。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuechanba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值