很多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编码,虽然显示英文字符较为两非,但是兼容性是最好的,也是国际最主流的标准。

更多相关文章

  1. Mars Android视频学习笔记——01_16_SQLite使用方法
  2. Android 总结:进阶之路(资源与方法)
  3. Android 关闭所有Activity完全退出程序方法
  4. android 图文列表的实现方法
  5. 使用universal-image-loader中出现的EOFException解决方法
  6. android 隐藏输入键盘的方法
  7. Android 使用decodeFile方法加载手机磁盘中的图片文件
  8. Android设置全屏的两种方法
  9. Android中检测App是否安装的方法.

随机推荐

  1. Android第一行代码(第二版)
  2. android中点击空白处隐藏软键盘
  3. android 生成二维码图片
  4. Android emulator中的system.img,userdata
  5. ffmpeg 怎么用
  6. Android4.0 无线网络代码分析
  7. Android编译时主要瓶颈分析
  8. Android官方技术文档翻译——Gradle 插件
  9. Android 用代码获取基站号(cell)和小区号
  10. AndroidManifest中android:exported="fal