如何解决Android WebView出现的乱码问题
1个回答
展开全部
使用webView载入网页,主要有三种方法:
1、webView.loadUrl();
直接显示网页内容(单独显示网络图片),一般不会出现乱码。
2、webView.loadData(data, "text/html", "UTF-8");
loadData主要被设计用来装载URI格式的数据,它不能通过网络来加载内容。网上流传的webview加载中文出现乱码,多数是使用此方法。使用过程中主要有两个问题:
(1)loadData不能加载图片内容,如果想加载图片内容或者获得更强大的Web支持建议使用更强大的loadDataWithBaseURL.
(2) 许多实用loadData方法的朋友都遇到显示乱码的问题,那是因为编码器设置错误导致的。我们知道String类型的数据主要是unicode编码,而WebView一般为了节省资源使用的是UTF-8编码,所以我们在loadData的时候要告诉方法怎样转码。即要告诉它要将unicode编码的内容转成UTF-8编码的内容。有些朋友虽然在loadData的时候设置了编码方式,但是还是显示乱码,这是因为还需要为WebView的text编码指定编码方式。举例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
wv.getSettings().setDefaultTextEncodingName(“UTF -8”) ;
1、webView.loadUrl();
直接显示网页内容(单独显示网络图片),一般不会出现乱码。
2、webView.loadData(data, "text/html", "UTF-8");
loadData主要被设计用来装载URI格式的数据,它不能通过网络来加载内容。网上流传的webview加载中文出现乱码,多数是使用此方法。使用过程中主要有两个问题:
(1)loadData不能加载图片内容,如果想加载图片内容或者获得更强大的Web支持建议使用更强大的loadDataWithBaseURL.
(2) 许多实用loadData方法的朋友都遇到显示乱码的问题,那是因为编码器设置错误导致的。我们知道String类型的数据主要是unicode编码,而WebView一般为了节省资源使用的是UTF-8编码,所以我们在loadData的时候要告诉方法怎样转码。即要告诉它要将unicode编码的内容转成UTF-8编码的内容。有些朋友虽然在loadData的时候设置了编码方式,但是还是显示乱码,这是因为还需要为WebView的text编码指定编码方式。举例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
wv.getSettings().setDefaultTextEncodingName(“UTF -8”) ;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询