2011-12-20 22 views
6

要在WebView正确显示UTF-8的文字编码,我通常使用一个doctypemeta标签:UTF-8上的WebView和ICS

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

我用我已经看到对堆栈的尖端溢出:

string = URLEncoder.encode(string, "UTF-8").replaceAll("\\+", " "); 

,关于姜饼和较旧的Android版本,但我的Nexus S的正常工作日前收到的冰淇淋三明治更新,和法国的字符,如éàè等。例如重新显示:é

我不知道ISO-xxxx-1编码是否是解决方案,但如果有人遇到同样的问题,请分享。

img

+0

您可能会感兴趣的这篇文章:http://stackoverflow.com/a/9312031/62921 – ForceMagic 2014-05-27 14:40:04

+0

可能[Android的副本。 WebView和loadData](http://stackoverflow.com/questions/3961589/android-webview-and-loaddata) – ForceMagic 2014-05-27 14:40:57

回答

13

尝试使用方法loadDataWithBaseURL与其他PARAMS随机字符串,而不是loadData

+4

我通过保持doctype解决问题,删除URLEncoder.encode方法,并调用其他方法lika: webView.getSettings()setDefaultTextEncodingName( “UTF-8”); webView.loadDataWithBaseURL(null,html,“text/html”,“utf-8”,null); – Sakaroz 2012-01-05 09:12:51

+0

谢谢,上面的评论像一个魅力:) – prdatur 2013-02-06 21:10:02

+0

我无法使用这些方法中的任何一种显示反转感叹号(¡,¡,¡)。有谁知道如何解决这个问题? – 2013-07-10 12:47:13