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

Utf 8 如何在只有部分编码错误的编码之间转换文件?,utf-8,character-encoding,iconv,Utf 8,Character Encoding,Iconv,我有一大套嵌套目录,其中包含PHP、HTML和Javascript文件,这些文件都应编码为UTF-8。然而,有人编辑了几个文件,并用ISO-8859-1编码保存了它们。不幸的是,它们都与UTF-8文件混合在一起 我想使用iconv工具将编码错误的文件转换为UTF-8(如上所述)。问题主要发生在有效ISO-8859-1但无效UTF-8的字符上 我认为一个合适的起点是找到所有包含无效UTF-8的文件。做这件事的好方法是什么 我意识到这并不能涵盖所有可能显示错误字符的情况。关于如何修复这一混乱局面,还

我有一大套嵌套目录,其中包含PHP、HTML和Javascript文件,这些文件都应编码为UTF-8。然而,有人编辑了几个文件,并用ISO-8859-1编码保存了它们。不幸的是,它们都与UTF-8文件混合在一起

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

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


我意识到这并不能涵盖所有可能显示错误字符的情况。关于如何修复这一混乱局面,还有什么建议吗?

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

Cool!我就是这么做的:
iconv-f UTF-8-t UTF-8 | grep“^iconv”
处理得很好。