【问题标题】:How do I convert files between encodings where only some of them are wrong?如何在只有一些编码错误的编码之间转换文件?
【发布时间】:2012-10-04 11:43:27
【问题描述】:

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

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

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

我意识到这不会涵盖所有可能显示错误字符的情况。关于如何解决这个混乱的任何进一步提示?

【问题讨论】:

    标签: utf-8 character-encoding iconv


    【解决方案1】:

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

    【讨论】:

    • 酷!这几乎就是我所做的:iconv -f UTF-8 -t UTF-8 | grep "^iconv" 处理得很好。
    猜你喜欢
    • 1970-01-01
    • 2021-07-03
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2013-10-26
    • 2016-07-13
    相关资源
    最近更新 更多