Mac下用命令行直接批量转换文本编码到UTF8
由于近期在Mac下写Android程序,下载的一些Demo由于编码问题源码里的汉字出现乱码,文件比较多,所以想批量解决下文件的编码问题。
Mac下有以下两种方式可以解决:
A. 文件名的编码:Mac的文件名本来就用Unicode, 关键是你传输的工具是否支持Unicode, 譬如Mac 下的Transmit 就支 持unicode,打开Transmit,在 顶栏 > View > Text Encoding > 选择Unicode,这样就支持中文文件名了。
B. 文本内容的编码:用Terminal 里的 iconv 命令批量转换文本编码到UTF8. 步骤:
1. 新建一个文件夹,这里取根目录下的文件夹 encoding ,然后将要转换的文本拉入这个文件夹。
2. 打开终端,输入以下代码:
cd /encoding (回车键)
find *.java -exec sh -c "iconv -f GB18030 -t UTF8 {} > {}.java" \; (回车键)
补充:上面的绿色部分是针对GB18030,如果你转换前的编码为GB2312,将 GB18030 代替为 GB2312 即可。
这样就搞定啦。 encoding 文件夹里出现了一批 .java.java 扩展名的文本,修改下文件后缀名就行了。