Android(java)学习笔记80:Html嵌入到Java显示乱码
1. Html嵌入到Java显示乱码:
解决方案:
使用 loadData方法是中文部分会出现乱码,即使指定“utf-8”、“gbk”、“gb2312”也一样。
1 webView.getSettings().setDefaultTextEncodingName("UTF -8");//设置默认为utf-8 2 //webView.loadData(data, "text/html", "UTF -8");//API提供的标准用法,无法解决乱码问题 3 webView.loadData(data, "text/html; charset=UTF-8", null);//这种写法可以正确解码
或者考虑使用 loadDataWithBaseURL方法:
案例:
1 WebView liudehua_web = (WebView)findViewById(R.id.mywebview01); 2 String data ="<html>"+ 3 "<body>"+ 4 "<a href=www.baidu.com>"+"<h1>刘德华</h1>"+"</a>"+ 5 "<p>刘德华,1961年9月27日出生于香港,祖籍广东江门,香港非官守太平绅士衔、"+ 6 "香港特别行政区荣誉勋章佩戴者、中国残疾人福利基金会副理事长、亚洲新星导计划的发起人、大中华区乐坛和影坛巨星、"+ 7 "华人娱乐圈影视歌综合发展最成功的代表性人物之一。作为歌手,他是香港乐坛“四大天王”之一,"+ 8 "吉尼斯世界纪录中获奖最多的香港男歌手[1],曾六度夺得香港“十大劲歌金曲颁奖典礼”的“最受欢迎男歌星”奖。"+ 9 "作为演员,他是香港“无线五虎”之一,参与演出的电影超过150部,先后获得三届香港电影金像奖最佳男主角奖,"+ 10 "两届台湾电影金马奖最佳男主角奖,曾担任第七届亚洲电影节及第四十九届台湾金马奖评审团主席。"+ 11 "他先后四次登上央视春晚舞台,享誉全球华人社会,被誉为华语娱乐圈的“常青树”。2008年6月23日,他与朱丽倩注册结婚,"+ 12 "2012年5月9日,二人喜得一女。</p>"+ 13 "</body>"+ 14 "</html>"; 15 16 WebSettings websettings = liudehua_web.getSettings(); 17 liudehua_web.loadData(data, "text/html;charset=utf-8", null);
text/html;charset=utf-8 : 设置页面内容是html编码格式是utf-8