![文件名本来正常,变成垃圾](https://linux22.com/image/1426278/%E6%96%87%E4%BB%B6%E5%90%8D%E6%9C%AC%E6%9D%A5%E6%AD%A3%E5%B8%B8%EF%BC%8C%E5%8F%98%E6%88%90%E5%9E%83%E5%9C%BE.png)
系统是Ubuntu 14.04 LTS,已经运行很长时间没有问题。
最近我发现文件名(中文字符)变成了乱码(编码错误)。确切地说:我从 Linux Mint PC 上 ssh,输入 ls,得到的文件名中有很多“????”。没有人对这些文件做过任何事情。
我在接受的答案中使用了 bash 脚本https://askubuntu.com/questions/113188/character-encoding-problem-with-filenames-find-broken-filenames没有运气。然而,
# display the filename converted from each enc to utf8
printf 'In %s:\n' "$dir/"
正常(正确解码),只有在 iconv 上,所有编码总是有错误,例如 UTF XX、Windows 12XX、CP xx、GB xx
令我惊讶的是,当我将远程 Ubuntu 文件夹 rsync 到我的本地 Linux Mint PC 时,文件名是正确的!
什么地方出了错?
答案1
我的 Linux Mint 的环境 LANG=ZH-TW UTF-8,我将其更改为 LANG="en_us.UTF-8" 并解决了问题。但我仍然认为当我在菜单中选择 UTF-8 时,终端仿真器应该已经修复了编码问题。