0

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

网页PHP代码:

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

有任何想法吗?

4

1 回答 1

2

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

请不要这样做,这很脏:避免大多数字符编码问题 快速技巧是将任何特殊(主要是非 ASCII)字符转义为HTML 实体。é&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 中,这在您的编辑器中可能看起来不错,但在浏览器中查看时会在您的脸上炸开。

于 2012-04-17T21:33:55.357 回答