GettingSignals

[Android]WebViewのloadDataで文字化けしてしまう対処

2012年7月17日
Posted by hina

WebViewで簡単なhtmlを表示したい場合に、プログラム上でhtmlを書いてしまいたいことがあります。
(assetsにhtml用意したりしない)

そのときに、
WebView.loadData(String data, String mimeType, String encoding)を使うと文字化けてしまうのです。

webView = (WebView)findViewById(R.id.webView);
String data = “<html><head><meta http-equiv=”content-type” content=”text/html;charset=UTF-8″></head>”;
data += “ウェブビューに表示するぞ!!”;
webView.loadData(data, “text/html”, “UTF-8”);

XPERIA PLAY → OK文字化けしない
Google NEXUS → NG文字化けする

GNだと文字化けしてしまいました。
WebSettingsでデフォルトの文字コードを取得してみると、”Shitft_JIS”

WebSettingsの文字コード変えたり、
dataの文字コードを変えても変わらず。。

二進も三進もいかず、別のAPIを使ってみると・・・

webView.loadDataWithBaseURL(null, data, “text/html”, “UTF-8”, null);

あっさり成功。何なんでしょうね。。

Share

Comments are currently closed.

Follow

カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930