Android 本身自带了一个WebView控件,用于开发时在应用程序中显示网页内容,可显示网络上的内容也可显示本地内容,但在显示本地页面时会因为没有http头为其指定编码导致WebView不知道以什么编码来渲染页面内容导致乱码问题。解决办法就是为WebView 指定显示的编码,WebView设置编码是在Settings中来设置,如:
1 mWebView = (WebView) findViewById(R.id.webview);
2 mWebView.getSettings().setJavaScriptEnabled(true);
3 mWebView.getSettings().setDefaultTextEncodingName("utf-8");
4 mWebView.loadUrl(path);
2 mWebView.getSettings().setJavaScriptEnabled(true);
3 mWebView.getSettings().setDefaultTextEncodingName("utf-8");
4 mWebView.loadUrl(path);
将以utf-8编码区显示页面
另外要注意的是如果载入的是本地页面,路径需要指定为file协议,如"file:///data/data/com.mytest/1.web"