我已经环顾四周,似乎并不能就这么在这里它找到一个解决方案。返回PHP的SimpleXML值有地方连字符的字符怪异和撇号
我有以下代码:
$file = "adhddrugs.xml";
$xmlstr = simplexml_load_file($file);
echo $xmlstr->report_description;
这是一个简单的版本,但即使这个尝试任何连字符[R撇号变成:^一(欧元符号)商标标志。
事情我已经试过有:
echo = (string)$xmlstr->report_description; /* did not work */
echo = addslashes($xmlstr->report_description); /* yes I know this doesnt work with hyphens, was mainly trying to see if I could escape the apostrophes */
echo = addslashes((string)$xmlstr->report_description); /* did not work */
也htmlspecial(我又知道不带连字符的工作),ヶ辆,以及其他一些技巧。
现在的情况是,我从进料得到XML文件,所以我不能改变他们,但他们都非常标准。带有连字符等的文本被封装在cdata标签中,并且编码是UTF-8。如果我查看源代码,我会在源代码中显示连字符和撇号。
现在只是为了看看编码是关闭或贴错标签或别的东西,奇怪,我试图查看原始XML文件果然是正确显示。
我相信,在我急于找到我忽略了一些简单的答案,事实上,这确实是我曾经用过的SimpleXML第一次我错过了一个非常简单的解决方案。只是不要停靠我,我真的尝试自己找到答案。
再次感谢。
感谢这些人都看起来不错,直到现在我没有看到反应,我回家了,我会再次检查那些谢天谢地,我会让你知道 – BrandonS 2011-01-28 23:43:44
如果你正在寻找解决方案,而马特的答案是正确的,请阅读Jasso和Takeshin的回答,因为他们三人帮助解决问题1.解释原因2.解释如何解决它3.帮助设置simpleXML中的帮助解决问题O操作。使用其中的一个可能会解决这个问题,但是查看所有答案将确保它解决问题并帮助您理解问题,以便您不会再犯这个错误。谢谢。 – BrandonS 2011-01-31 14:37:18