html webview中的奇怪字符

时间:2012-10-25 12:52:28

标签: java android html utf-8 webview

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

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

在HTML文件中,我认为编码?是“utf-8”,如果有相关内容,它会用javascript说明。

一切正常,除非显示“ÅÄÖ”,所有这些字符都被“?”取代

有人知道解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

浏览器/ Webview需要告知文档的编码,否则它会猜测某些编码或使用默认编码,这可能是错误的。通常使用HTTP标头传递编码。如果您从本地存储打开文件,显然不涉及HTTP。因此,您需要使用

在文档标题中指定编码
<meta http-equiv="Content-Type" content="text/html; charset=ENCODING HERE">

或者,对于HTML 5文档:

<meta charset="ENCODING HERE">

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