android下解析xml文件遇到中文问题
2012-01-14 11:56
351 查看
很多Android开发者可能一直抱怨xml解析库不够完善,对于国内很多server并不是标准的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 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文件遇到中文路径问题
- android常见问题一:pull解析xml格式的InputStream遇到的问题
- 用jdom解析xml文件时如何解决中文问题?如何解析?
- Android开发中遇到的json解析异常问题
- python lxml包——解析xml文件遇到的问题处理
- 用jdom解析xml文件时如何解决中文问题?如何解析?
- Android客户端页面提交数据到tomcat的servlet插入mysql中的信息表遇到的中文乱码问题
- java 输入输出流和File简单解析(附android中文乱码问题解决)
- Android的okhttp的post请求,php返回json数据。以及遇到的okhttp dispatcher问题,和json解析遇到的问题
- Android 个人学习笔记之---SAX解析XML文件(有一个坑爹的问题)
- 关于用xercesImpl包解析xml文件遇中文报错问题
- 关于Android中解析xml文件qName和localName的问题
- 解决android中XML解析的中文显示问题
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- 使用dom4j解析xml文件时遇到一个怪问题
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- Android内存泄露检测工具和实际开发中遇到的内存泄露问题解析
- android sax 解析xml中文编码问题