Php XMLReader因奇怪字符而中断

Php XMLReader因奇怪字符而中断,php,xml,parsing,encoding,xmlreader,Php,Xml,Parsing,Encoding,Xmlreader,每当XMLReader试图解析这个XML文件时,它都会在½和一个类似这样的时间段中断 两者都是字符,每当我试图从xml提要中删除它们时,编辑器都会首先删除它们前面的字符。因此,它们的行为类似于外来/不同的编码字符 我有什么办法来修复它?我不能每次都编辑xml文件。非常感谢您必须修复创建XML文件的程序或进程。我将XML放在引号中,因为实际上,您希望它是一个XML文件,但它不是。您可能能够修补、修复或恢复数据,但这不是一个长期的解决方案 传闻证据表明½字符编码为两个字节,表明其编码为UTF-8,而

每当XMLReader试图解析这个XML文件时,它都会在½和一个类似这样的时间段中断

两者都是字符,每当我试图从xml提要中删除它们时,编辑器都会首先删除它们前面的字符。因此,它们的行为类似于外来/不同的编码字符


我有什么办法来修复它?我不能每次都编辑xml文件。非常感谢

您必须修复创建XML文件的程序或进程。我将XML放在引号中,因为实际上,您希望它是一个XML文件,但它不是。您可能能够修补、修复或恢复数据,但这不是一个长期的解决方案


传闻证据表明½字符编码为两个字节,表明其编码为UTF-8,而é字符编码为一个字节,表明其编码为ISO 8859-1。这意味着有两个不同的进程写入文件,使用不同的编码写入。也许它最初是用一种编码创建的,然后使用不知道原始编码是什么的编辑器进行修改。这是行不通的。

在提要中使用什么编码?您使用什么编码读取?文件的编码是什么?这可能是一个编码问题。提要顶部显示UTF-8,但我不得不将其更改为ISO-8859-1,因为它在aé上被破坏了。要阅读它,我使用XMLReader的默认值,即UTF-8i beleive。谢谢。嗯,你发现你的问题了。这是一个编码问题。您必须使用相同的编码,或者至少在使用它们之前转换为相同的编码。如何转换为相同的编码?非常感谢奥雷里奥。这个文件是9MB,我必须让我的脚本加载到内存并重新编码吗?我也很担心。这会对内存使用量产生很大影响吗?