0

我得到的输出为

FBI believed he had a ‘doomsday device’ 

代替

FBI believed he had a ‘doomsday device’ 

当我使用

iconv("UTF-8", "ISO-8859-1//IGNORE", $topic);

输出是

FBI believed he had a âdoomsday deviceâ

我没有在我的文件中使用任何标题或字符集。

更新

知道为什么会这样

当 UTF-8 系列数字被解释为 ISO-8859-1 时,输出为

?

解释

0xE28099 分解为 0xE2 (â)、0x80 (€) 和 0x99 (™)。UTF-8 中的一个字符 (') 在被误解为 ISO-8859-1 时会被错误地显示为三个 (’)。

仍然没有解决方案来转换它

4

1 回答 1

2

那么输出页面正在被解释Windows-1252,而不是 ISO-8859-1..

我建议将您的标题字符集设置为 utf-8:

在 Apache 配置中:

AddDefaultCharset utf-8

php.ini:

default_charset utf-8

在php中手动:

header("Content-Type: text/html; charset=utf-8");

如果由于某些奇怪的原因您无法执行上述任何操作,则应改为转换为 Windows-1252:

iconv("UTF-8", "Windows-1252//IGNORE", $topic);
于 2012-12-06T16:11:51.130 回答