標籤雲

搜尋此網誌

2011/12/20

Android 筆記-WebView 無法正確顯示 UTF-8 編碼內容的解決辦法

公司的測試手機 Nexus S 升級 Ice Cream Sandwich (4.0.3) 之後
發現了一個小問題
就是原本 app 裡面的 WebView 裡面的中文字變成了亂碼
而在 2.3.6 的版本則是正常顯示

但是明明 html 碼裡面已經指定了
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

WebView 載入資料時也指定為 UTF-8 了
myWebView.loadData(sHtml, "text/html", "utf-8");

為什麼還是會有亂碼呢?

上網搜尋後發現有一個解法
就是改用 loadDataWithBaseURL 這個 method
myWebView.loadDataWithBaseURL(null, sHtml, "text/html", "utf-8", null);

其原理是利用這個方法強迫 WebView 去把 html 的內容給 base encode
資料來源是這裡

沒有留言: