gpt4 book ai didi

php XML DOM 将特殊字符转换为 and#xYY;

转载 作者:可可西里 更新时间:2023-11-01 00:52:19 24 4
gpt4 key购买 nike

我用 AJAX POST 发送:

<li><ul class   "zone zCentral ui-sortable"><li><ul class="region rCol3 ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span> <span>video: 'Mundo.Hoy': ¿Dónde habré olvidado... mi memoria?</span></div></li></ul></li></ul></li>

我这样做是为了创建 XML:

        header('Content-type: text/html; charset=utf-8');       
if(isset($_POST) && isset($_POST['data']))
{
$data = '<ul id="zone_container" class="ui-sortable">';
$data .= $_POST['data'];
$data .= '</ul>';

$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadXML($data);

echo $dom->saveXML();
exit();
}

我明白了:

<?xml version="1.0"?>
<ul id="zone_container" class="ui-sortable">
<li><ul class="zone zCentral ui-sortable"><li><ul class="region rCol3 ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span> <span>video: 'Mundo.Hoy': &#xBF;D&#xF3;nde habr&#xE9; olvidado... mi memoria?</span></div> </li></ul></li></ul></li></ul>

¿Dónde habré olvidado...我的内存?

转换为:

&#xBF;D&#xF3;nde habr&#xE9 ; olvidado... mi memoria?

我需要 XML 中的原始字符,这些是 utf-8 有效的,我不知道这种编码的原因:(

最佳答案

解决此问题的最简单方法是在加载 XML 后设置编码类型:

$dom = new DOMDocument();
$dom->loadXML($data);
$dom->encoding = 'utf-8';

echo $dom->saveXML();
exit();

您还可以通过在数据开头放置 XML 声明来修复它:

$data = '<?xml version="1.0" encoding="utf-8"?>' . $data;
$dom = new DOMDocument();
$dom->loadXML($data);

echo $dom->saveXML();
exit();

关于php XML DOM 将特殊字符转换为 and#xYY;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4625173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com