创建PHP - >具有特殊字符'&'的XML

时间:2017-07-21 08:41:02

标签: php xml encoding

我正在尝试使用特殊字符从PHP创建XML。

for key in dict1.keys():
     if dict2.has_key(key):
         dict1[key].extend(dict2[key])

当有一个像'&'这样的特殊字符时在其中输出是空的。

我认为这些字符在UTF-8中可用。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

嵌入XML时,总会遇到很多问题:(试试这个:

更改

$dom->loadXML($xmlAusgabe = $xml->asXML());

通过

$xmlAusgabe = $xml->asXML();
$xmlAusgabe = mb_convert_encoding( $xmlAusgabe, 'HTML-ENTITIES',  'UTF-8') ;
$dom->loadXML( $xmlAusgabe );

然后检查编码和fileencoding是utf8 。如果你使用vim编辑器:

set encoding=utf-8
set fileencoding=utf-8

<强>更新

libxml_use_internal_errors( FALSE );

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Root/>');

$data->addChild('NAME', mb_convert_encoding( $variable, 'HTML-ENTITIES',  'UTF-8') );

$xmlAusgabe = $xml->asXML();

$dom = new DOMDocument();
$dom->loadXML( $xmlAusgabe );
$dom->save('../test.xml');

我查看此代码并运行。要打印错误,请使用:

libxml_get_errors()