Php 通过cURL检索XML中的Mojibake问题

Php 通过cURL检索XML中的Mojibake问题,php,xml,curl,encoding,mojibake,Php,Xml,Curl,Encoding,Mojibake,我正在通过PHP cURL进行检索,并将其输出到页面的文本区域中。问题是,它回来时充满了莫吉贝克的角色。饲料本身是好的;只有当我的页面上出现输出时,字符才会出现 例如,英镑符号(英镑)又以英镑的形式出现 我已经尝试过在这个问题上使用UTF-8,正如在对问题的回答中所建议的那样 在HTML中: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我甚至试着把这些木炭换掉,但还是没成功 $xml =

我正在通过PHP cURL进行检索,并将其输出到页面的文本区域中。问题是,它回来时充满了莫吉贝克的角色。饲料本身是好的;只有当我的页面上出现输出时,字符才会出现

例如,英镑符号(英镑)又以英镑的形式出现

我已经尝试过在这个问题上使用UTF-8,正如在对问题的回答中所建议的那样

在HTML中:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我甚至试着把这些木炭换掉,但还是没成功

$xml = strtr($xml, array('£' => ''));

我在这里无能为力,还是我能做些什么?

在HTML页面中显示XML内容之前,使用
htmlentities
(),在该调用中将
$ch
更改为
$XML
,因此:

echo '<textarea>'.htmlentities($xml).'</textarea>';
echo'.htmlentities($xml)。'';
utf8\u encode()
将输入视为拉丁语-1,并将其转换为utf-8。如果输入是utf-8,这将是一个双重编码-这就是您看到的

检查从URL获取的XML字符串。XML文件的编码通常在XML处理指令中:

<?xml version="1.0" encoding="utf-8"?>
<document-element/> 

加载到DOM、XMLReader或SimpleXML中,它将始终转换为UTF-8。使用API读取的任何值都将是UTF-8

如果希望将UTF-8XML输出到HTML页面的文本区域,则需要转义特殊字符

echo '<textarea>'.htmlspecialchars($xml).'</textarea>';
echo'.htmlspecialchars($xml)。'';

这将转义字符,如
,但这是必需的。想象一下包含字符串
的XML。这会破坏你的HTML页面。浏览器将在显示之前对
和其他实体进行解码。

您尝试过吗谢谢,我没有。从/到哪种编码?谢谢,但这会使XML无法解析,因为它转换为
,在文本区域显示它与解析它不同。。。如果您想解析它,您需要在未修改的内容上使用PHP XML解析器谢谢,我将进一步探讨这一点。
<?xml version="1.0" encoding="utf-8"?>
<document-element/> 
echo '<textarea>'.htmlspecialchars($xml).'</textarea>';