我怎样才能以编程方式更改文件编码的Linux?

有没有程序更改文件编码为UTF-8编程。 我有1000个文件,我想在Linux中保存为UTF-8格式。

谢谢。

iconv会照顾到这一点,像这样使用它:

 iconv -f ISO88591 -t UTF8 in.txt out.txt 

其中88591latin1的编码,最常见的8位编码之一,可能(或不)是您的输入编码。

如果您不知道输入字符集, 可以使用标准file命令或基于python的chardet 来检测它 。 例如:

 iconv -f $(file -bi myfile.txt | sed -e 's/.*[ ]charset=//') -t UTF8 in.txt out.txt 

你可能想要做比这个班轮更强大的工作,比如在编码不明的时候不要处理文件。

从这里开始,遍历多个文件,你可以做类似的事情

 find . -iname *.txt -exec iconv -f ISO88591 -t UTF8 {} {} \; 

我没有检查这个,所以你可能想要谷歌iconv和找到,在这里阅读关于他们,或者只是阅读他们的手册页。

iconv是工作的工具。

 iconv -f original_charset -t utf-8 originalfile > newfile