我在php中有以下xml字符串:
$str="<name>An☢maly</name>";
然后我执行以下操作:
$tmp=new SimpleXMLElement($str);
如果我这样做:
echo $tmp->name;
我明白了:
An☢maly
当我这样做时:
echo utf8_decode($tmp->name);
我明白了:
An?maly
如何让PHP显示这个有趣的角色,它还可以使用以下内容:
ƎnƔy™ = ?n?y?
答案 0 :(得分:1)
这很奇怪,我正在做同样的事情,它在网络浏览器中正确显示:
<?php
$str="<xml><name>ƎnƔy™</name></xml>";
$tmp=new SimpleXMLElement($str);
echo $tmp->name;
?>
除非我将源文件保存为UTF8编码文件,否则我注意到它无法正常工作。我正在使用程序员的记事本和点击文件&gt;属性并将'Encoding'参数更改为UTF-8以实现此目的。
此外,UTF8字符无法在Windows命令行上正确打印,这也可能是您的问题。
答案 1 :(得分:1)
尝试使用
header('Content-type:text/html;charset=utf-8');
输出前(如果使用浏览器)
P.S:Anâ〜¢maly - 当浏览器在“ISO-8859-1”字符集中呈现页面而不是“UTF-8”时输出