【问题标题】:"php include" strange characters in the generator xml "'╗ ┐' ╗ ┐"“php include”生成器xml中的奇怪字符“'╗┐'╗┐”
【发布时间】:2013-03-19 16:18:59
【问题描述】:

由于“包含”连接数据库,此 XML 的结构已损坏。
可以看到,文件第一行有奇怪的字符('╗ ┐' ╗ ┐)。

但是,它们不会出现在网络上,因为它们仅在我使用 cmd.exe 到 type 文件时出现。这是违规文件的屏幕截图:

这是文件的 URL: http://web.wipix.com.br/aniversariantes.xml

在我的 PHP 文件中,我在文件 connection.php(连接到数据库)和“serialize.php”中有两个“包含”来生成 XML。 这仅在我取出“包含”并仅在一页上使用所有内容时才有效。我该如何解决这个问题?

【问题讨论】:

  • 我猜在其中一个文件的开头有一个 Unicode Byte Order Mark。您将无法在编辑器中看到它。你用的是什么编辑器?保存文件时是否可以选择包含字节顺序标记 (BOM)?
  • 您确定您的文件真的如<?xml?> 声明所说的那样使用 ISO-8859-1 编码吗?
  • zneak,我是 header("content-type: text/xml; charset=ISO-8859-1");
  • Matt Gibson 我正在使用 Dreamweaver 是的,他可以选择不包含字节顺序标记 (BOM) 我的 xml 是动态生成的,我将尝试获取其他两个文件的“BOM”

标签: php xml output


【解决方案1】:

这是一个byte order mark(Unicode 字符 U+FEFF),但它以不正确的编码显示。由于您的文档声称编码为 ISO-8859-1,因此不应有字节顺序标记。

【讨论】:

    【解决方案2】:

    您的 xml 文件可能是带有 BOM 的 UTF-8 格式。

    http://en.wikipedia.org/wiki/Byte_order_mark

    使用文本编辑器删除有问题的 8 个字节或保存没有 BOM 的 xml。 如果xml是动态生成的,则需要修改生成代码。

    此外,BOM 字节似乎编码错误。可能是xml转换错误,BOM字节搞砸了。

    【讨论】:

    • 感谢生成 xml 的文件没有“BOM”但其他两个有
    【解决方案3】:

    开头的奇怪东西可能是字节顺序标记,但我不确定。
    字节顺序标记是插入在文件开头的字节序列,用于指示文件的endianness,或者最高有效字节是否在前。

    根据您的输出,文件中还有其他奇怪的字符(不是文本),因此程序可能将它们插入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-09
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2021-03-16
      相关资源
      最近更新 更多