Linux系统下与原系统字符编码转换陷阱


我在是Windwos xp下用grub安装的Linux系统,后来发现Linux系统下挂载原系统磁盘时,里面的一些文本文件是乱码。在网上查了一些资料。最后才找到解决办法。谁还有什么好的解决办法,希望大家一起共享。

/桌面$ file 备忘录.txt
备忘录.txt: ISO-8859 text, with CRLF line terminators

于是用

/桌面$ iconv -f ISO-8859 -t utf-8 备忘录.txt>备忘录.txt

ERROR:

iconv: 不支持以“ISO-8859”为源头的转换
试用“iconv --help”或“iconv --usage”以获取更多信息。

/桌面$ iconv -l | grep 'ISO8859'

ISO8859-1//
ISO8859-2//
ISO8859-3//
ISO8859-4//
ISO8859-5//
ISO8859-6//
ISO8859-7//
ISO8859-8//
ISO8859-9//
ISO8859-9E//
ISO8859-10//
ISO8859-11//
ISO8859-13//
ISO8859-14//
ISO8859-15//
ISO8859-16//
ISO88591//
ISO88592//
ISO88593//
ISO88594//
ISO88595//
ISO88596//
ISO88597//
ISO88598//
ISO88599//
ISO88599E//
ISO885910//
ISO885911//
ISO885913//
ISO885914//
ISO885915//
ISO885916//

发现没有ISO8859的编码。

后来才发现

file命令。不靠谱

于是:

把此文件托到Firefox,查看编码为GB2312

/桌面$:iconv -f GB2312 -t utf-8 备忘录.txt>备忘录.txt

相关内容