出处:https://www.jianshu.com/p/f55ddf1e9839
经常会在Mac上打开一个txt文件,发现里面的中文都是乱码,问题是在Windows和手机上看都完全是正常的,这就十分闹心了。网上千奇百怪的解决方案大多不能用,试错后发现一个解决方案。需要用到命令行工具iconv,语法是这样的:
iconv -f encoding -t encoding sourcefile > destinationfile
比如一个典型的例子(也是大多数情况):
iconv -f GB18030 -t utf-8 A.txt > B.txt
原文中是GB18030 > UTF8,不知为何会报错,改为utf-8后好用。
看看效果:
完全解决了我们的问题。又有了新的疑惑,why GB18030 > UTF8 ?
补充资料:
兼容性
- GB2312:基本满足了汉字的计算机处理需要,对于人名、古汉语等方面出现的罕用字,GB 2312不能处理。
- GBK:GBK 向下与 GB 2312 编码兼容,向上支持 ISO 10646.1国际标准。
- GB18030 :对GB 2312-1980完全向后兼容,与GBK基本向后兼容,并支持Unicode(GB 13000)的所有码位。
发布时间
- GB2312:由中国国家标准总局1980年发布,1981年5月1日开始实施。
- GBK:1995年12月1日制订。
- GB18030 :初版于2000年3月17日发布,现行版本于2005年11月8日发布,2006年5月1日实施。