纸上得来终觉浅,绝知此事要躬行。

 

使用 WebView 的 loadData 方法加载本地 utf-8 编码的网页不能正确显示中文

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <WebView 
        android:id="@+id/webview_1" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:layout_weight="1.0"/>
    <WebView 
        android:id="@+id/webview_2" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1.0"/>
</LinearLayout>
package cn.yo2.aquarium.webviewtest;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String data = "<a href=\"http://sian.com/msnportal/redirectTitle.do?id=1\">中文 utf-8 编码</a>";

        WebView webView1 = (WebView) findViewById(R.id.webview_1);

        webView1.loadData(data, "text/html", "utf-8");

        WebView webView2 = (WebView) findViewById(R.id.webview_2);

        webView2.loadDataWithBaseURL("", data, "text/html", "utf-8", "");
    }
}

这里纵向放置了两个 WebView, 上面的 webView1 使用  loadData 加载网页,下面的 webView2 使用 loadDataWithBaseURL 加载网页。运行结果

 

posted on 2012-09-27 17:10  JRoger  阅读(856)  评论(0编辑  收藏  举报

导航