【发布时间】:2026-02-13 13:20:05
【问题描述】:
我正在丢失重音字符。
我从 PHP 下载了一个使用 UTF8 的 xml 文件,而我的 PHP 脚本使用的是 Latin1。我无法将 UTF8 转换为 Latin1。
我试过这个:
$meta=mb_convert_encoding($meta,'CP1252','UTF-8');
和
$meta=mb_convert_encoding($meta,'UTF-8');
$meta=mb_convert_encoding($meta,'CP1252','UTF-8');
但无论哪种方式,重音字符都被破坏并变成了 2 个字符。
输入:
<title>First book of zoölogy</title>
输出:
<title>First book of zoo?logy</title>
我自己想通了,请参阅下面的答案。谢谢大家的帮助!
【问题讨论】:
-
请展示一些示例输入和输出,提供更多细节和代码。这太模糊了,无法具体回答。
-
我添加了一个输入和输出示例。
-
该示例显示的是第一个代码 sn-p 的结果?你确定你在函数中输入的文本是 UTF-8 编码的吗?
-
元文件的标头说是UTF-8,但我想可能是在撒谎。
-
你试过
$meta = utf8_decode($meta)吗?
标签: php mysql utf-8 character-encoding latin1