最近在看Vuforia的AR技术,基于Android的应用开发,在我修改程序中某个html页面内容的时候,输入的中文字符在手机应用打开时出现乱码,经过一番调查,初步了解了一些有关WebView组件以及字符编码的一些知识。
WebView能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,我们主要使用其中的loadUrl()和loadData(),具体的实现方法可以参考博文:
Android开发学习笔记:浅谈WebView
解决中文乱码问题,网上参差不齐也有许多方法,大体上有这样几种:
1) java.net.URLEncoder(部分代码):
WebView.loadData(URLEncoder.encode(data, encoding), mimeType, encoding);
详见博文:WebView中loadUrl 和 loadData
2) 初始化字符编码(部分代码):
mAboutWebText.getSettings().setDefaultTextEncodingName("utf-8") ;
详见博文:关于WebView的loadData步骤(有乱码和不能显示图片等)
我的方法其实非常简单,将我们的要显示的html文件使用记事本打开,另存为utf-8编码格式即可。
感兴趣的你也可以了解一下有关编码的知识,参考博文:
Ansi,UTF8,Unicode,ASCII编码的区别
与此同时,TextView也可以解析一部分html标签,参考博文:
Android中Textview显示带html文本——[HTML标签]