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

标签 java php android

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

网页PHP代码:

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

有什么想法吗?

最佳答案

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

请不要这样做,这很脏: 避免大多数字符编码问题的快速破解是将任何特殊(主要是非 ASCII)字符转义为 HTML entites 。例如,é 为 é。如果您只想回显“Entrée”,那么只需在您最喜欢的文本编辑器中查找并替换即可。

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

如果您计划输出静态单词以外的任何内容,例如数据库中的一些动态文本等,您应该真正尝试做正确的事情:使您的 PHP 脚本输出 UTF-8并发送了正确的 Content-Type header 。

我的 PHP 很生疏,但是这样的东西应该可以工作:

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

您还需要确保您的文本编辑器或 IDE 将 PHP 文件保存为 UTF-8(不是 ANSI、ASCII、Windows-1252 等)或é 将会变得困惑,并且没有标题设置可以修复它。大多数编辑器碰巧会以 ANSI 格式保存,这在您的编辑器中可能看起来不错,但在浏览器中查看时却很糟糕。

关于java - Android 不会显示 PHP 页面的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199354/

相关文章:

android - kotlin 编译器返回此类警告

android - 引用膨胀布局中的 View

android - Toast 背景更改以匹配 Activity 的主题

java - 我需要在单击后退按钮时最小化 android 应用程序

java - 通过 "source"Java 代码的 shell 脚本设置和获取环境变量

php - 如何在 php 中从数据库填充下拉值

php - 日期错误解决方案

php - 如何使用 PHP 管理动态创建表单中的数据

java - 使用 Java 并发运行多线程任务,直到有足够的输出

java - Paint.NET 中的图像在 Eclipse 中失败