在 Debian 下遇到 mount 后文件名乱码,一般都是 文件系统编码(通常是 UTF‑8 vs GBK/GB2312)不一致 导致的。下面按常见场景给你解决办法。
挂载时指定编码为 UTF‑8:
sudo mount -t ntfs-3g -o iocharset=utf8 /dev/sdXn /mnt/win
如果还不行,试试:
sudo mount -t ntfs-3g -o utf8 /dev/sdXn /mnt/win
现在 Debian 一般默认就是
ntfs-3g
FAT 默认是 GBK 编码,Linux 默认 UTF‑8,所以必乱。
sudo mount -t vfat -o iocharset=utf8 /dev/sdXn /mnt/usb
或(老内核):
sudo mount -t vfat -o codepage=936,iocharset=utf8 /dev/sdXn /mnt/usb
exFAT:
sudo mount -t exfat -o iocharset=utf8 /dev/sdXn /mnt/usb
编辑 /etc/fstab:
/dev/sdXn /mnt/win ntfs-3g defaults,utf8 0 0
/dev/sdXn /mnt/usb vfat defaults,utf8,uid=1000,gid=1000 0 0
uid/gid防止权限问题
无法在线转换已挂载文件名的编码
只能:
检查:
locale
应该是:
LANG=zh_CN.UTF-8
如果不是:
sudo dpkg-reconfigure locales
选 zh_CN.UTF-8
你可以告诉我:
我可以给你精确到命令的方案。