我正在尝试使用特殊字符从PHP创建XML。
for key in dict1.keys():
if dict2.has_key(key):
dict1[key].extend(dict2[key])
当有一个像'&'这样的特殊字符时在其中输出是空的。
我认为这些字符在UTF-8中可用。
有人可以帮助我吗?
答案 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()