2011-12-20 27 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