最近把项目放到github上,但是发现代码中注释的中文部分有些是乱码,检查后发现是因为我的Centos装在虚拟机上,而我是在Windows环境下通过UE来写代码的,而UE默认是使用ASCII编码。
所以希望在Linux上使用命令来批量转换编码格式。
查了资料后发现可以使用iconv命令。
首先使用 file 命令来检测文件的类型
例如:filetest.cpp
输出:ISO-8859 Cprogram text
iconv命令的参数说明:
-l 列出所有已知的字符集
-f 原始文本编码
-t 输出文本编码
-o 输出文件名
-s 关闭警告
例子:
iconv-f GB2312 -t UTF-8 test.cpp > test_utf.cpp
因为iconv默认输出到标准输出,所以我们需要重定向到一个其他文件。(这里不能重定向到自身,否则会清空文件内容)
如果想要把输出内容直接输出到当前文件,可以这样用:
iconv-f GB2312 -t UTF-8 -o test.cpp test.cpp
原文地址:http://blog.csdn.net/wcl199274/article/details/40737053