Android不会显示PHP页面中的特殊字符

时间:2012-04-17 21:21:13

标签: java php android

我有一个简单的网页,显示“Entrée”这个词。它在网络上看起来很完美但是,当我在Android中使用HTTPClient来显示应该显示这个单词的网页时,它不知道如何处理“é”。我不熟悉字符代码等,但我一直在环顾四周,看到大多数人都推荐使用UTF-8。如何确保Android可以读取此特殊字符?

网页PHP代码:

<?php echo "Entrée"; ?>

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这很可能是字符编码问题。 PHP脚本可能没有设置任何/正确的字符编码标头,因此您的浏览器和Android会假设他们喜欢的任何内容。

请不要这样做,它很脏: 快速入侵以避免大多数字符编码问题,将任何特殊(大多数非ASCII)字符转义为{ {3}}。 é将是&eacute;例如。如果您只想echo "Entrée",那么只需在您喜欢的文本编辑器中查找并替换。

这样做,它让世界变得更美好:

如果您打算输出的内容超过静态单词,请说出数据库中的一些动态文本,您应该尝试做正确的事:让您的PHP脚本输出UTF-8并发送了正确的Content-Type标题。

我的PHP非常生疏,但这样的事情应该有效:

<?php
header('Content-type: text/plain; charset=UTF-8');
echo "Entrée";
?>

您还需要确保您的文本编辑器或IDE 将您的PHP文件保存为UTF-8 (不是ANSI,ASCII,Windows-1252或其他类似的)或é将全部搞砸,没有标题设置可以修复它。大多数编辑器都会以ANSI格式保存,这可能在您的编辑器中看起来很好,但在浏览器中查看时会爆炸。