如何在只有部分错误的编码之间转换文件?

时间:2012-10-04 11:43:27

标签: utf-8 character-encoding iconv

我有一大堆嵌套目录,包含PHP,HTML和Javascript文件,全部编码为UTF-8。但是,有人编辑了几个文件并使用ISO-8859-1编码保存。不幸的是,它们都与UTF-8文件混在一起。

我想使用iconv工具将错误编码的文件转换为UTF-8(如here所述)。首先,问题出现在ISO-8859-1有效但UTF-8无效的字符上。

我认为一个合适的起点是找到包含无效UTF-8的所有文件。有什么好办法呢?

我意识到这不会捕获可能显示错误字符的所有情况。关于如何解决这个烂摊子的任何进一步提示?

1 个答案:

答案 0 :(得分:2)

这将是一个黑客攻击,但由于它是一次性的,所以它可能是值得的。如果无法使用您提供的编码读取文件,iconv将会抱怨编码无效。因此,您可以编写一个包装器脚本来迭代所有文件,尝试将它们从UTF-8转换为其他文件,而那些无法转换的文件具有无效的UTF-8。