因为毕业论文的原因,我要生成一大批xml文件。在调试代码的时候,xml文件中的内容用的是中文,生成xml文件时候设定编码的代码如下:
org.dom4j.io.OutputFormat outFormat=org.dom4j.io.OutputFormat.createPrettyPrint();
outFormat.setIndent(" ");
outFormat.setEncoding("Unicode");
XMLWriter xmlW=new XMLWriter(new FileWriter(new File("c:\\qwert.xml")),outFormat);
xmlW.write(doc);现在我要在另外的地方解析这些xml文件,解析的关键代码如下:
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
InputStream ips=new FileInputStream("c:\\qwert.xml");
doc=db.parse(ips);
这个时候parse部分报错,原因是说xml文件里含有不再指定编码里的字符。
如果这个xml文件里面全是英文字符解析起来也有问题,为什么呢?
只有把编码格式改为utf-8的时候解析才准确。
是不是java默认的是某个编码格式?
我怎么解决这个问题,因为我程序正式开始运行都是采集英文的网页。谢谢。
org.dom4j.io.OutputFormat outFormat=org.dom4j.io.OutputFormat.createPrettyPrint();
outFormat.setIndent(" ");
outFormat.setEncoding("Unicode");
XMLWriter xmlW=new XMLWriter(new FileWriter(new File("c:\\qwert.xml")),outFormat);
xmlW.write(doc);现在我要在另外的地方解析这些xml文件,解析的关键代码如下:
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
InputStream ips=new FileInputStream("c:\\qwert.xml");
doc=db.parse(ips);
这个时候parse部分报错,原因是说xml文件里含有不再指定编码里的字符。
如果这个xml文件里面全是英文字符解析起来也有问题,为什么呢?
只有把编码格式改为utf-8的时候解析才准确。
是不是java默认的是某个编码格式?
我怎么解决这个问题,因为我程序正式开始运行都是采集英文的网页。谢谢。
解决方案 »
- Netbeans中能否实现:一个用各种现有布局如GridLayout、FlowLayout写好的图形界面的程序,在NetBeans中能看到并可视化微调大小、位置
- 大侠,大牛问个构造函数执行问题(简单的很)
- 谁提供一个mysql的下载地址``
- 困饶一天的问题。。。。
- 救命啊!高手快来不行了!关于FormFile的上传!在线等!
- 请问大家 我想编写的俄罗斯方块 ,我有2个地方不明白,不知道算法怎么实现,请帮我看看谢谢!!!
- 关于数据库的问题,求解
- 到哪里下载SQL SERVER的JDBC包?怎么用?
- .NET和JAVA到底哪个好?
- 为何此程序老是抛出THREAD违例??
- 关于ibatis调用oracle存储过程取得多个输出参数值的问题
- java word 转pdf
outFormat.setEncoding("UTF8");
String str = "test_测试";
String testStr = new String(base64.decode(str.getBytes()));看看这个编码
即使这样也不行,说这个xml文件里有写字符不符合,言下之意是有些中文字符不在utf8里面吗?
用emedit这样的工具转换一下
这个编码必须和<?xml version="1.0" encoding="**"?> 要一致才可以的,否则就会变成乱码
http://www.javadingle.com