这可能是一个愚蠢的问题,但它不是我能找到的问题,这是我不知道要搜索什么的问题。有些特殊字符在php中无法正确显示。我从xml文件中获取一些信息,然后回显它们。
即:
应该是 - >纽伦堡
回声为 - > Nürnberg
有关查找内容或如何解决此问题的任何提示?
答案 0 :(得分:1)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
答案 1 :(得分:1)
您只是编码不匹配。快速了解这些文章:
What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text
Handling Unicode Front To Back In A Web App
答案 2 :(得分:0)
在您回复
的页面上尝试不同的字符集答案 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。