我有一大堆嵌套目录,包含PHP,HTML和Javascript文件,应全部编码为UTF-8。但是,有人编辑了几个文件并使用ISO-8859-1编码保存。不幸的是,它们都与UTF-8文件混在一起。
我想使用iconv
工具将错误编码的文件转换为UTF-8(如here所述)。首先,问题出现在ISO-8859-1有效但UTF-8无效的字符上。
我认为一个合适的起点是找到包含无效UTF-8的所有文件。有什么好办法呢?
我意识到这不会捕获可能显示错误字符的所有情况。关于如何解决这个烂摊子的任何进一步提示?
答案 0 :(得分:2)
这将是一个黑客攻击,但由于它是一次性的,所以它可能是值得的。如果无法使用您提供的编码读取文件,iconv将会抱怨编码无效。因此,您可以编写一个包装器脚本来迭代所有文件,尝试将它们从UTF-8转换为其他文件,而那些无法转换的文件具有无效的UTF-8。