我的一个项目从网络上提取一份文档并阅读它。本文档由第三方提供,不会更改(内容会更改,但格式和其他内容不会更改)。 问题在于该文档包含从 Word 复制和粘贴的内容,Word 为 UTF-8,但该文档采用 ISO-8858-1 编码,因此这些字符会以“?”的形式保存到数据库中。
如果我跳过文本,并将其重新编码为 UTF-8,我不会得到智能引号和破折号,只会得到两个垃圾字符。
如何将这个包含 UTF-8 字符的 ISO-8859-1 文档转换回 UTF-8,以便可以按最初创建时的方式显示?
最佳答案
$fixed = mb_convert_encoding($broken, "UTF-8", "ISO-8859-1");
不知道它是否可以正确处理嵌入在 8859 中的 UTF-8,但这是“正常”的处理方式。手册页here 。试一试,看看事情是变得更干净还是更困惑。
关于php - 将 ISO-8859-1 转换为 UTF-8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172963/