使用SAX解析XML文件出现中文乱码问题(dom4j)
乱码问题很多都是跟编码有关,结合我的系统的功能,先将数据从内存存入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)相关推荐
- 使用SAX解析XML文件
关于使用SAX解析XML文件也没什么要说明的,直接上代码吧. 关键如下: public class PersonHandler extends DefaultHandler {private Stri ...
- android xml defaulthandler解析,sax解析xml文件的DefaultHandler处理类
一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个"你"当作android:),使用sax解析 ...
- SAX 解析XML文件:将XML转换成Java对象
本博客介绍的是解析本地XML文件,解析网络上的XML 本文写得比较简略,实际上项目应用更多的是解析网上的xml资源 使用SAX 处理XML需要一个Handler 对象,一般继承org.xml.sax, ...
- 服务器解析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 ...
- python 使用sax 解析xml 文件
这里不是说xml 的所以如果xml 不了解,可以百度大致看下即可, SAX知识了解 SAX (simple API for XML ) 有解析器和事件处理器 解析器负责读取XML文档,并向事件处理器 ...
- SAX解析XML文件
就目前来说,有三种方式可以解析XML文件:DOM.SAX.StAX.DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息:这种方 ...
- android xml解析demo,Android解析自定义xml文件--Sax解析xml文件,测试demo(方案二)...
转载请注明出处:http://blog.csdn.net/droyon/article/details/9346657 Sax解析xml 以下是测试Demo 运行程序类 public class Te ...
- android用sax解析xml,详解android使用SAX解析XML文件
解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了. 优点:整个 ...
- Android开发--详解SAX解析XML文件
SAX技术字处理XML文件时并不是一次性把XML文件装入内存,而是一边读一边解析,因此,在解析的过程中会有几个步骤需要注意,在这里用一张图来表示解析的步骤: 在本实例中,定义了一个xml文件,其中有若 ...
最新文章
- 6次课(相对和绝对路径、cd命令、创建和删除目录mkdir/rmdir、rm命令)
- TCP/IP协议中的一些常用端口简单讲解
- 【推荐】“水果”公司的复兴 (乔布斯和苹果公司)---Google黑板报
- oracle 600 侯,oracle在导入数据时报600错误的解决方法
- Silverlight4中右键菜单实现-附源码下载
- 【编程语言之Python】之plt画图尺寸、去白边
- java boolean 包_java Boolean包装类工作笔记
- java窗口设计_JAVA界面设计
- matlab建立遗传算法,Matlab遗传算法(一)
- (十)统计表速查(标准正态分布、t分布、卡方分布)
- 小鹤双拼入门和小鹤音形的搜狗输入法配置方法
- 如何查看当前位置显存使用情况
- 解决Jenkins不能在线安装maven持续集成插件(百度云离线下载)
- HttpMessageNotReadableException: Required request body is missing:
- 常识系列:显示屏 分辨率 SD HD FHD 的区别解释
- WEB 视频开发-视频播放器
- h61 nvme硬盘_切割SN520amp;amp;对比主流NVME2242amp;amp;无硬盘盒迁移系统
- 记录——kubeadm集群node节点加入
- accept()使用
- 2021年1月编程语言排行榜:Python年度编程语言
热门文章
- 如何使网页视频倍速100
- 华为VRRP-流量负载均衡配置
- java cause_java常见错误Cause java.sql.SQLSyntaxErrorException Table ‘m
- eclipse使用ant_使用Eclipse简化Ant
- 使用pheatmap画热图报错
- try的动词用法_词汇精选:try的用法和辨析
- Android打包知识体系(二)——APK签名介绍
- EasyYapi接入简单实战
- Spark MLlib数据类型
- Ubuntu 18.04服务注册方法