朋友你好我有一些字符从PHP读取XML文件我用此源代码的一个问题:用PHP的XML字符的问题
$file = 'test.xml';
$xml_1 = simplexml_load_file($file);
echo ($xml_1->content);
其工作正常,但在内容是一个特殊的字符,就像 - 它显示了一个像这样的罕见字符 - 我试图包含在html头utf8字符集中,但它也是一样的
朋友你好我有一些字符从PHP读取XML文件我用此源代码的一个问题:用PHP的XML字符的问题
$file = 'test.xml';
$xml_1 = simplexml_load_file($file);
echo ($xml_1->content);
其工作正常,但在内容是一个特殊的字符,就像 - 它显示了一个像这样的罕见字符 - 我试图包含在html头utf8字符集中,但它也是一样的
SimpleXML通过设计发出UTF-8输出。如果应用程序不支持UTF-8,你必须与通常的转换工具(如mb_convert_encoding()),但你必须考虑到这一点:
无论如何,在2016年,除非维护遗留代码,否则没有理由使用除UTF-8之外的其他任何内容。
如果我看到xml文件,我可以看到信息存储在稀有字符中,例如当我把它保存在xml文件中,比如“ni?o”,真正的单词是“niño”,这是一个博客应用程序,当我看到帖子,我可以正确看到,但如果我直接提取信息形式的XML它不工作在博客页面我只能看到UTF-8字符集在它的工作原理我不明白为什么不工作 – htmlpower
Make确保您使用支持UTF-8的编辑器打开XML文件。即使情况如此,您可能需要明确设置编码。 –
我应该在显示前转换数据吗?我认为博客应用程序使用一个额外的过程来将它转换为正确的字符,当它从xml文件中提取之前显示我认为它是不够的,因为我有其他部分的网站直接写在html中的utf8字符集html代码与ñó,我可以看到完美 – htmlpower
最后我找到了解决办法,我必须使用utf8_decode PHP函数来它不与您必须扉页放UTF8字符集到足够多的字符转换使用PHP之前
这与我的答案类似,只是细节使其错误。正如[手册](http://php.net/utf8_decode)清楚地解释,这个函数将**从ISO-8859-1 **转换为UTF-8。盲目应用于没有已知编码的字符串意味着增加了另一层错误。 –
转换就可以显示'test.xml' ? – Naumov
几乎可以肯定,text.xml实际上并不存储在utf-8中,这就是你的问题。 –
是的,我可以完美地看到test.xml问题是只有当它包含特殊字符,如ñó..你可以看到,而不是他们ñ... – htmlpower