android下解析xml文件遇到中文问题
2010-10-30 10:54
281 查看
很多Android开发者可能一直抱怨xml解析库不够完善,对于国内很多server并不是标准的utf-8编码,遇到中文时可能解析器会停止或解析出来的是乱码。这里android123给大家说下常见的解决方法:
一、android sax库遇到gbk或gb2312编码时
方法1. 可以显示的指明编码比如
InputSource is = new InputSource(inputStream); is.setEncoding("UTF-8");
方法2. 使用InputStreamReader转换 在SDK中可以查看有这样实例化方法,参数二为字符集
InputStreamReader(InputStream in, Charset charset)
具体使用可以是
InputSource is=new InputSource(new InputStreamReader(inputStream,"gb2312"));
有关InputSource的细节,我们遵循 如果有字符流可用,则解析器将直接读取该流,而忽略该流中找到的任何文本编码声明。如果没有字符流,但却有字节流,则解析器将使用该字节流,从而使 用在 InputSource 中指定的编码,或者另外(如果未指定编码)通过使用某种诸如 XML 规范 中的算法算法自动探测字符编码。如果既没有字符流,又没有字节流可用,则解析器将尝试打开到由系统标识符标识的资源的 URI 连接 。
二、android开发网推荐大家尽量在服务器上配置使用utf-8编码,虽然显示英文字符较为两非,但是兼容性是最好的,也是国际最主流的标准。
一、android sax库遇到gbk或gb2312编码时
方法1. 可以显示的指明编码比如
InputSource is = new InputSource(inputStream); is.setEncoding("UTF-8");
方法2. 使用InputStreamReader转换 在SDK中可以查看有这样实例化方法,参数二为字符集
InputStreamReader(InputStream in, Charset charset)
具体使用可以是
InputSource is=new InputSource(new InputStreamReader(inputStream,"gb2312"));
有关InputSource的细节,我们遵循 如果有字符流可用,则解析器将直接读取该流,而忽略该流中找到的任何文本编码声明。如果没有字符流,但却有字节流,则解析器将使用该字节流,从而使 用在 InputSource 中指定的编码,或者另外(如果未指定编码)通过使用某种诸如 XML 规范 中的算法算法自动探测字符编码。如果既没有字符流,又没有字节流可用,则解析器将尝试打开到由系统标识符标识的资源的 URI 连接 。
二、android开发网推荐大家尽量在服务器上配置使用utf-8编码,虽然显示英文字符较为两非,但是兼容性是最好的,也是国际最主流的标准。
相关文章推荐
- android下解析xml文件遇到中文问题
- android下解析xml文件遇到中文问题
- ERROR:使用dom4j解析xml文件遇到中文路径问题
- 解析xml文件遇到奇怪的问题
- 解决android中XML解析的中文显示问题
- Android内存泄露检测工具和实际开发中遇到的内存泄露问题解析
- 关于Android中解析xml文件qName和localName的问题
- android sax 解析xml中文编码问题
- android解析jasonarray遇到的问题
- 使用dom4j解析xml文件时遇到一个怪问题
- Android请求网络数据,json解析-FastJson遇到的问题 首字母大写问题
- Android InputStreamReader 解析gbk、gb2312编码的xml文件 编码问题.
- 【技术直通车】Android中不能解析GIS类的XML文件或不能引入GIS类问题
- android基于openfire+spark+amack 即时聊天--------<2>登录遇到的问题和重要类解析
- android 解析时遇到编码问题
- android解析XML文档遇到的问题(org.xmlpull.v1.XmlPullParserException)
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- Android中采用XmlPullParser解析xml文件异常的问题
- android URL 中文解析问题
- Android解析socket或http流中文编码问题