【发布时间】:2011-05-30 15:10:25
【问题描述】:
我试图从 xml 中获取一个 € 的值,但是当我尝试时它会返回奇怪的代码。
$xmlDate = $searchNode->getElementsByTagName( "kostenvoorverkoop" );
$valueKostenvoorverkoop = htmlentities($xmlDate->item(0)->nodeValue,ENT_QUOTES,"UTF-8");
//gives back Á€10,- instead of €10,-
找不到问题。
//XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<price>€10</price>
如果我离开 htmlentities,它会给出一个完全奇怪的字符串,例如 ÁáÙ%10
如果有人能帮我解决这个问题,那对我有很大帮助,在此先感谢。
编辑:
找到了一个小解决方法:将€更改为&amp;euro;。知道不干净但有效。
【问题讨论】:
-
ISO-8859-1 与 UTF-8 完全不同...
-
ISO-8859-1 不包含欧元字符
€。这意味着在 XML 声明中声明的编码不正确,并且您的 XML 在技术上格式不正确。可能您的文档是 ISO-8859-15 或 windows-1252(或 UTF-8 可能包含无效的字节序列)。
标签: php xml special-characters