我正在收到这样的饲料..
$posts = new SimpleXMLElement(WP_ROOT_URL . 'feed/', 0, true);
在这个Feed中,我得到的一个项目包含一个html实体,它是“连字符”的实体,即–
然而,当从SimpleXML返回时,我得到的是–
。我已经阅读了关于SO& S的其他类似问题。一些提及,以确保您的网页设置为UTF-8
;虽然不确定这将如何阻止SimpleXML返回奇怪的角色?
我在网页上输出数据的方式是:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
我可以在这做什么来获得正确的实体?
答案 0 :(得分:2)
在PHP字符串中没有统一或托管编码,因此您不能将它们视为包含字符而是字节。结果始终包含字节0xE28093
,只有解释更改。您可以通过在结果上调用bin2hex()
来查看此内容。
在Windows-1252中解释的字节为–
,以UTF-8解释,它们以–
形式出现。
如果您在网页上回应这个问题,那么您可以通过以下方式让浏览器以UTF-8解释您的输出:
<?php
header("Content-Type: text/html; charset=UTF-8"); //Put this before any output
echo "stuff";