“php包含”生成器中的奇怪字符xml“'╗┐'╗┐”

时间:2013-03-19 16:18:59

标签: php xml output

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

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

enter image description here

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

开头的奇怪东西可能是字节顺序标记,但我不确定 字节顺序标记是在文件开头插入的字节序列,用于指示它的endianness,或者最重要的字节是否先出现。

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

答案 2 :(得分:0)

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

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

使用文本编辑器删除违规的8个字节或保存没有BOM的xml。 如果以动态方式生成xml,则必须修改生成代码。

此外,BOM字节似乎编码严重。可能是xml以错误的方式转换而且BOM字节被搞砸了。