首页 > 代码库 > Android WebView出现的乱码问题
Android WebView出现的乱码问题
1、webview加载网页<html>源码乱码问题
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”) ; wv.loadData(content, “text/html”, “UTF-8”) ; 注意为gb2312或gbk (3).网页说明编码格式 <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> 以上两种方法是网上给的比较好的方法,但是我都试了下都没有解决我的乱码问题。 原来我是用LoadData方法来解析html的,但是据说这是官方的一个BUG,不能用来解析中文。所以绕其道而行之,采用loadDataWithBaseURL的方法,其中codeingType设置为utf-8就OK了。3、 其中baseUrl为你存储照片的路径,比如:
2、webview背景透明:
在xml文件中设置android:background无效。
<WebView
android:id="@+id/big_data_detail_content_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:background="@drawable/color_transparent"
android:textSize="14dp" />
解决办法:
webview.setBackgroundColor(0); // 设置背景透明
Android WebView出现的乱码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。