情况1:
[root@wtstb share]# mount /dev/sdb1 ./tmp
此时tmp下的目录显示乱码。
[root@wtstb ~]# ls /opt/share/tmp
'01_?????????1??????' '?????????Linux??? ?PDF?????'
smb共享显示8位长度的英文数字,不是乱码。
情况2:
[root@wtstb share]# mount -t vfat -o iocharset=utf8 /dev/sdb1 tmp
这个命令可以简化为 mount -o utf8 /dev/sdb1 tmp
[root@wtstb share]# ls tmp
'01_'$'\345\215\207\347\272\247\347\211\210\345\205\250\347\263\273\345\210\227\350\247\206\351\242\221\347\254\254''1'$'\345\255\243\344\271\213\345\277\253\351\200\237\345\205\245\351\227\250'
这种情况是环境设置问题
对于archLinux,需要
1、安装字体
搜索 pacman -Ss wqy
安装 pacman -S wqy-microhei
2、设置locale
一般来讲,安装时已配置
修改配置文件 /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
运行locale-gen生效。
3、配置环境变量
一次性:export LANG=zh_CN.UTF-8 这个字体会导致shell输出也是部分汉字,其实设置为en_US.UTF-8就可以显示汉字了。
永久生效: /etc/locale.conf
LANG=en_US.utf8
重新登录就可以正常显示汉字了。