中文android webView中字符膨胀的问题

时间:2014-02-24 09:30:33

标签: android webview

目前我正在webview中设置我的html响应,现在,该响应中的chienese字符未在我的Web视图中设置,但是在我的计算机浏览器(如Mozilla和chrome)中正确设置了字符。我对此问题有疑问“&#32957”我的回答如下:

*蕴含虾红素,半胱胺酸胜&安培;#32957 ;,维他命Ç等美容成分
*有助整顿肌肤的代谢循环
*抑制黑色素的形成
 *打造充满透明感的美白肌
*清新荔枝口味

现在Mywebview的xml如下:

               <WebView
                android:id="@+id/wvProductItem"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

现在我在我的java类中将数据设置为:

        String detail=responseFromWeb;        

        wvProductDetail.getSettings().setJavaScriptEnabled(true);
        wvProductDetail.getSettings().setLoadWithOverviewMode(true);
        wvProductDetail.getSettings().setUseWideViewPort(true);
        wvProductDetail.getSettings().setBuiltInZoomControls(false);
        wvProductDetail.getSettings().setSupportZoom(false);
        wvProductDetail.getSettings().setUseWideViewPort(false);
        wvProductDetail.getSettings().setDefaultTextEncodingName("utf-8");
        wvProductDetail.setWebViewClient(new WebViewClient() {

                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {


                    return true;
                }

                @Override
                public void onPageFinished(WebView view, final String url) {
                    Log.i("TAG", "Scroll Bottom:" + scrollView.getBottom());
                    scrollView.postDelayed(new Runnable() {

                        @Override
                        public void run() {
                        scrollView.scrollTo(0, 0);
                        }
                    }, 500);

                }
            });
        wvProductDetail.loadDataWithBaseURL(null,
                    detail, "text/html", "UTF-8", null);

1 个答案:

答案 0 :(得分:3)

正确的问题

如果我们写"&amp;"然后转换为"&",那么转义序列会出现问题,但是如果你这样写"&amp;#32957"那么web视图首先转换转义序列{{1} } "&amp;"以及转换"&" unicode后,结果将是======&gt; "#32957"

所以上面的问题正在发生。

针对您的具体问题

解决方案

您必须将"&#32957;"替换为"&amp;#"

例如

"&#"