【发布时间】:2010-11-11 03:50:03
【问题描述】:
我的 rss 提要上出现了一个奇怪的角色。在 firefox 上,它看起来像一个盒子,每个角落都有四个数字,在某些情况下是 0 - 0 - 9 - 4,在其他情况下是 0 - 0 - 9 - 2。
这些出现在智能引号应该出现的位置。
我对带有问号的黑色菱形很熟悉,但这是一个新的。
【问题讨论】:
-
这是一个 UTF 编码。检查 XML 文档的编码类型。
我的 rss 提要上出现了一个奇怪的角色。在 firefox 上,它看起来像一个盒子,每个角落都有四个数字,在某些情况下是 0 - 0 - 9 - 4,在其他情况下是 0 - 0 - 9 - 2。
这些出现在智能引号应该出现的位置。
我对带有问号的黑色菱形很熟悉,但这是一个新的。
【问题讨论】:
0-0-9-4 表示该字符为 0x0094,这是一个未分配的 UTF-16 字符。生成提要的任何内容都是插入浏览器没有字体映射的字符,或者可能是标题中指定的字符编码与流内容不匹配。
【讨论】:
啊,好吧。你为我指明了正确的方向。即将出现的是 Windows 实体。人们通过一系列复杂的步骤将内容放入我们的数据库,从 Word、InDesign 到 GoLive(是的,这很痛苦)。
不管怎样,数据库弹出的是像“”这样的实体,我猜这对 Windows 来说意味着什么,但对我的浏览器没有任何意义,无论是 ISO-8859-1 还是 UTF-8,所以没有改变我的页面编码的数量可以解决这个废话。不过,奇怪的是,它只是正确地出现在这里,所以我不知道我做错了什么。
所以无论如何,我通过在显示它之前通过这个 php 函数运行所有东西来修复它。
function fixChars($text){
// Next, replace their Windows-1252 equivalents.
$text = str_replace(
array('‘', '’', '“', '”', '•', '—', '…'),
array("'", "'", '"', '"', '-', '--', '...'),
$text);
return $text;
}
所以,现在情况似乎很好。
感谢大家的指导。
【讨论】: