解决 Mac 的 txt 文件乱码问题

经常遇到 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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/todarcy/p/12597365.html