zoukankan      html  css  js  c++  java
  • android下解析xml文件遇到中文问题

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

  • 相关阅读:
    Java的快速失败和安全失败
    Java RMI与RPC的区别
    Java动态代理之JDK实现和CGlib实现(简单易懂)
    JVM——字节码增强技术简介
    Linux内存分配机制之伙伴系统和SLAB
    操作系统动态内存管理——malloc和free的工作机制
    Java中的Map
    Java的PriorityQueue
    Java中的List
    Java中的Set
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168131.html
Copyright © 2011-2022 走看看