我有一个简单的网页,显示“Entrée”这个词。它在网络上看起来很完美但是,当我在Android中使用HTTPClient来显示应该显示这个单词的网页时,它不知道如何处理“é”。我不熟悉字符代码等,但我一直在环顾四周,看到大多数人都推荐使用UTF-8。如何确保Android可以读取此特殊字符?
网页PHP代码:
<?php echo "Entrée"; ?>
有什么想法吗?
答案 0 :(得分:2)
这很可能是字符编码问题。 PHP脚本可能没有设置任何/正确的字符编码标头,因此您的浏览器和Android会假设他们喜欢的任何内容。
请不要这样做,它很脏: 快速入侵以避免大多数字符编码问题,将任何特殊(大多数非ASCII)字符转义为{ {3}}。 é将是 é
例如。如果您只想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格式保存,这可能在您的编辑器中看起来很好,但在浏览器中查看时会爆炸。