0

我使用以下代码在 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();

但是对于波斯语消息,我仍然得到相同的有线字符。

4

3 回答 3

2

我终于用下面的代码解决了这个问题:

    WebView.LoadUrl("data:text/html;charset=UTF-8," + nonEnglishString);
于 2013-10-08T18:54:50.503 回答
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();
            }
于 2013-10-07T08:24:44.197 回答
0

用这个:

webview.loadData(html_content, "text/html; charset=utf-8", "utf-8");

我测试了它,它可以工作。

于 2014-05-06T13:48:20.900 回答