【问题标题】:Strange character in XML documentXML文档中的奇怪字符
【发布时间】:2010-11-11 03:50:03
【问题描述】:

我的 rss 提要上出现了一个奇怪的角色。在 firefox 上,它看起来像一个盒子,每个角落都有四个数字,在某些情况下是 0 - 0 - 9 - 4,在其他情况下是 0 - 0 - 9 - 2。

这些出现在智能引号应该出现的位置。

我对带有问号的黑色菱形很熟悉,但这是一个新的。

【问题讨论】:

  • 这是一个 UTF 编码。检查 XML 文档的编码类型。

标签: php mysql xml firefox


【解决方案1】:

0-0-9-4 表示该字符为 0x0094,这是一个未分配的 UTF-16 字符。生成提要的任何内容都是插入浏览器没有字体映射的字符,或者可能是标题中指定的字符编码与流内容不匹配。

【讨论】:

    【解决方案2】:

    啊,好吧。你为我指明了正确的方向。即将出现的是 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;
    
    }
    

    所以,现在情况似乎很好。

    感谢大家的指导。

    【讨论】:

      猜你喜欢
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多