解决 Mac 的 txt 文件乱码问题

浪子不回头ぞ 提交于 2020-03-30 12:32:01

经常遇到 txt 文件在 Mac 上显示乱码, 如图所示.

 

 


解决

1. 单个乱码文件的转换

使用 Shell 的 iconv 命令来转换文件编码, 其语法是:

iconv -f encoding -t encoding sourcefile > destinationfile

例如, 想把 GB18030 编码的 A 文件( txt 格式), 转换为 UTF-8 编码,并存入文件 B:

iconv -f GB18030 -t UTF8 A.txt > B.txt

注意:
如果文件名带"空格", 在命令行操作时, 需要在"空格"前面加上"转义字符 \", 比如 "my file.txt" 文件在命令行中需要用 my\ file.txt 来指代.
如果你不理解"转义字符", 那么建议你先把文件名中的"空格"去掉, 或者直接使用"下划线"替代"空格". 比如, 把 "my file.txt" 文件改名为 "my_file.txt"

PS. 如何得知源文件的编码格式?
可以尝试使用 file --mime-encoding 命令来查看源文件的编码格式.
同时, 根据自己的尝试和网上的资料, 大部分乱码的 txt 文件编码为 GB18030.


2. 乱码文件的批量转换

将需要转码的 txt 文件放在一个文件夹中, 在命令行下, 进入文件夹后执行:

find *.txt -exec sh -c "iconv -f GB18030 -t UTF8 {} > {}.txt" \;

其作用是: 查找后缀为 txt 的文件,将其编码从 GB18030 转化为 UTF8

 


作者:patiencing
链接:https://www.jianshu.com/p/f55ddf1e9839
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!