xml文件中的特殊字符无法使用php正确显示

时间:2012-02-03 03:40:55

标签: php character echo

这可能是一个愚蠢的问题,但它不是我能找到的问题,这是我不知道要搜索什么的问题。有些特殊字符在php中无法正确显示。我从xml文件中获取一些信息,然后回显它们。

即:

应该是 - >纽伦堡

回声为 - > Nürnberg

有关查找内容或如何解决此问题的任何提示?

6 个答案:

答案 0 :(得分:1)

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"  />

答案 1 :(得分:1)

答案 2 :(得分:0)

在您回复

的页面上尝试不同的字符集

http://www.w3schools.com/tags/ref_charactersets.asp

答案 3 :(得分:0)

您可以在HTML头中尝试使用以下元标记。

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"  />

答案 4 :(得分:0)

“我正在从xml文件中获取一些信息,然后回显它们。”

Windows命令行不支持utf8,因为它不使用UTF8字体。

只需将文件放入可通过Web服务器访问的位置,然后通过Web服务器调用该文件进行测试。 或者将脚本的输出传递到文本文件中:

php test.php&gt; output.txt的

要么打开output.txt是支持UTF8的编辑器,要么使用支持utf8的“尾巴”程序。

test.php的

<?php
    echo "Nürnberg";
?>

从命令提示符运行:

php test.php

Nürnberg

通过网络服务器http://localhost/test.php

进行通话
Nürnberg

答案 5 :(得分:0)

XML的字符编码与从PHP输出的内容不匹配。最有可能的是,一个是UTF-8,一个是ISO-8859。

在PHP方面,您可以使用标头指令

进行设置
<?php
header('Content-Type: text/plain; charset=ISO-8859-1');
header('Content-Type: text/plain; charset=utf-8');
?>

和/或输出的HTML

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

在XML方面,大多数高质量的文本编辑器允许您在保存文件时指定字符编码。 (例如Mac上的WordWrangler)

如果XML文件确实在ISO-8859中,您可以在阅读时使用utf8_encode()将其转换为UTF-8。

An in-depth discussion of PHP and character encoding