用dom将数据写到xml中 设置xml文件gbk编码时中文会出现乱码
2012-05-30 10:48
246 查看
问题:我用dom将数据写到xml中 设置xml文件的编码格式是gbk时再dos下运行jar包中文会出现乱码
如下:
代码如下:
至于是因为原因,我也不知道,关于操作XML ,有dom4j这么好用的包,你不用,干啥要用DOM这么原生。
这个我修改把程序环境编码换成了GBK编码,甚至把myeclipse的编码也换成了GBK编码,问题还是没有解决。
最后把dom转换成jdom就解决了,
转换代码如下:
如下:
代码如下:
StringWriter strWtr = new StringWriter(); StreamResult strResult = new StreamResult(strWtr); TransformerFactory tfac = TransformerFactory.newInstance(); try { Transformer t = tfac.newTransformer(); // t.setOutputProperty(OutputKeys.ENCODING, "GBK"); t.setOutputProperty(OutputKeys.INDENT, "yes"); t.setOutputProperty(OutputKeys.METHOD, "xml"); // xml, html,// text t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", spaceNum); Element element = doc.getDocumentElement(); t.transform(new DOMSource(element), strResult); } catch (Exception e) { e.printStackTrace(); // ToolKit.writeLog(this.getClass().getName(), "转换XML异常,参数为:" + doc, e); } result = strResult.getWriter().toString();
至于是因为原因,我也不知道,关于操作XML ,有dom4j这么好用的包,你不用,干啥要用DOM这么原生。
这个我修改把程序环境编码换成了GBK编码,甚至把myeclipse的编码也换成了GBK编码,问题还是没有解决。
最后把dom转换成jdom就解决了,
转换代码如下:
/* 把dom转换成jdom */ DOMBuilder builder = new DOMBuilder(); org.jdom.Document jdomDoc = builder.build(doc); //doc:已经创建好的dom Format format=Format.getPrettyFormat(); format.setEncoding("GBK"); XMLOutputter output=new XMLOutputter(); output.setFormat(format); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { output.output(jdomDoc, baos); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } result=baos.toString(); //转换成字符串输出再运行jar包,就没问题了
相关文章推荐
- Python读取.xml文件(<?xml version="1.0" encoding="UTF-16"?>)中文乱码问题解决
- Android之WebView加载xml数据及防止中文乱码
- 从xml读写中文数据时乱码问题
- “用dom4j解析包”对xml进行dom方式操作中文乱码解决方案
- myeclipse插数据到mysql,有中文会出现乱码
- Spring Mvc web.xml中设置了字符编码,中文依旧乱码
- 避免把数据写到表里中文成了乱码
- Asp : 生成xml数据 及解决Flex里的中文显示乱码问题。。。
- mysql反向生成hbm.xml后,由hibernate向sql写数据中文出现乱码问题
- 如何防止XMLHttpRequest对象传回的中文数据中出现乱码
- 安装Tomcat后一些xml文件的设置,防止URI传值中文乱码,自动更新等
- springmvc接口返回xml数据出现中文乱码的问题
- Java DOM解析Xml中文乱码问题
- idea软件编码已经设置好了为utf-8,但是svn中down下来的文件格式本身不是utf-8的,此时打开后会出现中文乱码解决方法
- springMVC获取数据--注意post方法会出现中文乱码问题
- dom解析xml之中文乱码问题
- oralce 导入数据中文乱码-设置字符集
- centos 7.2中xampp mysql 数据字符集设置解决中文乱码
- Java DOM解析Xml中文乱码问题
- 如何防止XMLHttpRequest对象传回的中文数据中出现乱码?