php - 将 ISO-8859-1 转换为 UTF-8 问题

标签 php utf-8 iso-8859-1

我的一个项目从网络上提取一份文档并阅读它。本文档由第三方提供,不会更改(内容会更改,但格式和其他内容不会更改)。 问题在于该文档包含从 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/

相关文章:

php - 修复 PHP 警告/错误

php - 是否可以从表单生成器设计 html

java - Java String getBytes ISO_8859_1 的 Node.js 等效项

java - Jsoup - 使用字符集 iso-8859-1 解析 HTML 文件

python - unicode解码的问题

javascript - 将 json 对象从 php 传递到 javascript

javascript - Typeahead.js 建议未被过滤

java - 如何在java spring中强制文件内容为utf-8?

java - UTF-8 和 UTF-16 之间有很大的区别吗

mysql - Perl UTF8 CGI 和 DBI ... 正确的工作流程是什么?