乱码问题很多都是跟编码有关,结合我的系统的功能,先将数据从内存存入xml文件中,再从xml中解析出来,这一个过程中,会遇到3次编码的过程。

第一,数据从在myeclipse写着的时候的编码。

第二,数据存入磁盘xml文件的编码。

第三,数据从磁盘文件中解析到内存显示在控制台的编码。

只要这三个过程的编码一致(好像范围大的变成范围小的也没问题?总之最好全用UTF-8,那最大),那么就不会出现乱码问题。

废话不多说,下面是解决的过程:

第一,检查当前程序的编码。我一看,我的竟然是GBK。我一直以为是UTF-8。换了个机子默认的没改,写出来的就是那个编码了。

怎么看编码的话,我的是myeclipse,在项目那里右键,选择properties就能看到了。上图,有图有真相。

第二,检查存入磁盘的xml文件是什么编码。我一看,不出所料,是UTF-8,默认好像就是UTF-8。

所以,我就改一下存入磁盘的时候,xml文件的编码为GBK。(别问我为什么不在第一步那里将GBK转成UTF-8,因为我就喜欢写代码,hhh。其实是不会,hh,等下次有空再研究研究)

怎么改?懒得打字,上图:

原本我写的是注释里面的绿色的,然后改成了上面的。就是写一句代码设置一下编码。

第三,第三就没有第三了,因为我的myeclipse默认就是GBK的。直接运行,成功。图就不放了。


The end.

使用SAX解析XML文件出现中文乱码问题(dom4j)相关推荐

  1. 使用SAX解析XML文件

    关于使用SAX解析XML文件也没什么要说明的,直接上代码吧. 关键如下: public class PersonHandler extends DefaultHandler {private Stri ...

  2. android xml defaulthandler解析,sax解析xml文件的DefaultHandler处理类

    一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个"你"当作android:),使用sax解析 ...

  3. SAX 解析XML文件:将XML转换成Java对象

    本博客介绍的是解析本地XML文件,解析网络上的XML 本文写得比较简略,实际上项目应用更多的是解析网上的xml资源 使用SAX 处理XML需要一个Handler 对象,一般继承org.xml.sax, ...

  4. 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document

    服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document  : Premature end of file. Nes ...

  5. python 使用sax 解析xml 文件

    这里不是说xml 的所以如果xml 不了解,可以百度大致看下即可, SAX知识了解 SAX (simple API for XML )  有解析器和事件处理器 解析器负责读取XML文档,并向事件处理器 ...

  6. SAX解析XML文件

    就目前来说,有三种方式可以解析XML文件:DOM.SAX.StAX.DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息:这种方 ...

  7. android xml解析demo,Android解析自定义xml文件--Sax解析xml文件,测试demo(方案二)...

    转载请注明出处:http://blog.csdn.net/droyon/article/details/9346657 Sax解析xml 以下是测试Demo 运行程序类 public class Te ...

  8. android用sax解析xml,详解android使用SAX解析XML文件

    解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了. 优点:整个 ...

  9. Android开发--详解SAX解析XML文件

    SAX技术字处理XML文件时并不是一次性把XML文件装入内存,而是一边读一边解析,因此,在解析的过程中会有几个步骤需要注意,在这里用一张图来表示解析的步骤: 在本实例中,定义了一个xml文件,其中有若 ...

最新文章

  1. 6次课(相对和绝对路径、cd命令、创建和删除目录mkdir/rmdir、rm命令)
  2. TCP/IP协议中的一些常用端口简单讲解
  3. 【推荐】“水果”公司的复兴 (乔布斯和苹果公司)---Google黑板报
  4. oracle 600 侯,oracle在导入数据时报600错误的解决方法
  5. Silverlight4中右键菜单实现-附源码下载
  6. 【编程语言之Python】之plt画图尺寸、去白边
  7. java boolean 包_java Boolean包装类工作笔记
  8. java窗口设计_JAVA界面设计
  9. matlab建立遗传算法,Matlab遗传算法(一)
  10. (十)统计表速查(标准正态分布、t分布、卡方分布)
  11. 小鹤双拼入门和小鹤音形的搜狗输入法配置方法
  12. 如何查看当前位置显存使用情况
  13. 解决Jenkins不能在线安装maven持续集成插件(百度云离线下载)
  14. HttpMessageNotReadableException: Required request body is missing:
  15. 常识系列:显示屏 分辨率 SD HD FHD 的区别解释
  16. WEB 视频开发-视频播放器
  17. h61 nvme硬盘_切割SN520amp;amp;对比主流NVME2242amp;amp;无硬盘盒迁移系统
  18. 记录——kubeadm集群node节点加入
  19. accept()使用
  20. 2021年1月编程语言排行榜:Python年度编程语言

热门文章

  1. 如何使网页视频倍速100
  2. 华为VRRP-流量负载均衡配置
  3. java cause_java常见错误Cause java.sql.SQLSyntaxErrorException Table ‘m
  4. eclipse使用ant_使用Eclipse简化Ant
  5. 使用pheatmap画热图报错
  6. try的动词用法_词汇精选:try的用法和辨析
  7. Android打包知识体系(二)——APK签名介绍
  8. EasyYapi接入简单实战
  9. Spark MLlib数据类型
  10. Ubuntu 18.04服务注册方法