5

我正在开发一个打开网页的 android 项目。如果用户没有互联网连接,我有一个听众。我没有显示标准的“找不到页面”,而是为 webview 提供了一个存储在我的资产文件夹中的本地 html 文件。通过这行代码:

web.loadUrl("file:///android_asset/html/404error.html");

在 HTML 文件中,我认为编码?是“utf-8”,如果相关的话,它会用javascript说一些东西。

一切正常,除了显示“ÅÄÖ”时,所有这些字符都被替换为“?”

有人知道解决方案吗?

谢谢!

4

2 回答 2

1

浏览器/Webview需要被告知文档是什么编码,否则会猜测一些编码或者使用默认的,可能会出错。通常,您使用 HTTP 标头传达编码。如果您从本地存储打开文件,显然不涉及 HTTP。因此,您需要使用在文档标题本身中指定编码

<meta http-equiv="Content-Type" content="text/html; charset=ENCODING HERE">

或者,对于 HTML 5 文档:

<meta charset="ENCODING HERE">

确保声明与文档的实际编码方式相匹配。

于 2012-10-25T13:20:42.477 回答
0

最近我也遇到了和你现在一样的问题。我通过将 HTML 文件中的特殊字符更改为它们各自的 HTML 代码来解决它。您可以在 google 上获取特殊字符的所有相应 HTML 代码,但此链接可能会对您有所帮助。

于 2012-10-25T13:09:19.737 回答