我使用以下代码在android Webview中显示一个字符串:
webView.loadData(anEnglishString + "<br />" + aPersianString, "text/html", "utf-8");
另请注意,我尝试将“ utf-8 ”替换为:“ unicode ”,“ utf8 ”,“ utf-16 “,” ansi “,...但每次我在WebView中获得以下输出:
此消息为英文
%%#: - =%@ + =% - #@ ##%@%
顺便说一句,我也尝试过使用:
webView.loadDataWithBaseURL(null, ..., null);
以及:
webView.getSettings().setDefaultTextEncoding();
但是我仍然会为波斯语消息获得相同的有线字符。
答案 0 :(得分:2)
我最终使用以下代码来解决问题:
WebView.LoadUrl("data:text/html;charset=UTF-8," + nonEnglishString);
答案 1 :(得分:1)
我也遇到了同样的问题,我解决了这个问题。
你应该这样使用,
try {
// get input stream for text
InputStream is = getAssets().open("YOUR HTML.html");//index.html
// check size
int size = is.available();
// create buffer for IO
byte[] buffer = new byte[size];
// get data to buffer
is.read(buffer);
// close stream
is.close();
webView.loadDataWithBaseURL(null, new String(buffer),
"text/html", "utf-8", null);
} catch (IOException e) {
e.printStackTrace();
}
答案 2 :(得分:0)
使用它:
webview.loadData(html_content,“text / html; charset = utf-8”,“utf-8”);
我测试了它,它确实有用。