解析XML,未知编码的问题

时间:2012-07-13 12:52:16

标签: php xml character-encoding xml-parsing simplexml

我正在尝试读取XML提要,我不确定编码是否正确,但它设置为UTF-8,当我尝试通过SimpleXML在PHP中解析它时,它在“BöðVar”上出错(注意特殊的“o”字符。)

libxml_use_internal_errors(TRUE);
$XMLOutputXMLObj = simplexml_load_string($xml_string);
if($XMLOutputXMLObj !== FALSE)
{
//do stuff
}

这是我得到的所有错误:

  

实体'ouml'未定义

     

实体'eth'未定义

我尝试以各种方式使用“mb_convert_encoding”,但失败了。

如何为任何角色解决此问题? IE 没有用& 214手动替换ö; (当然是#)?

更好......有没有办法让它变得如此简单,只要标签完好无损,SimpleXML就不关心解析它是什么?

由于

1 个答案:

答案 0 :(得分:2)

您是否尝试在节点的文本/值之前和之后使用<![CDATA[]]>标记来转义节点中的XML数据? E.g。

<?xml version="1.0" encoding="UTF-8"?>
<fmsdata>
  <result><![CDATA[Success !@#$%^&*()]]></result>
</fmsdata>