黑马程序员技术交流社区

标题: dom4j乱码问题。 [打印本页]

作者: 小发    时间: 2013-5-30 12:39
标题: dom4j乱码问题。
按照方力勋视频写的为什么出现乱码了呢?通过test()方法写入的数据没有问题,但是每次xml写入前的代码却出现了乱码问题!
求帮忙解决。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <exam>
  3.   <student examid="3433" idcard="4210811993">
  4.     <name>张三</name>  
  5.     <location>上海</location>  
  6.     <grade>60</grade>
  7.   </student>  
  8.   <student examid="20998241" idcard="12321">
  9.     <name>李四</name>  
  10.     <location>武汉</location>  
  11.     <grade>23</grade>
  12.   </student>  
  13.   <student examid="98567" idcard="45689">
  14.     <name>lucy</name>  
  15.     <location>USA</location>  
  16.     <grade>23</grade>
  17.   </student>  
  18. </exam>
复制代码
  1. public static void test() throws Exception{
  2.                 SAXReader reader = new SAXReader();
  3.         Document document = reader.read(new FileReader("src/exam.xml"));
  4.         Element root=document.getRootElement();
  5.         Element examNode=root.addElement("student");
  6.                 examNode.setAttributeValue("examid", "23456");
  7.                 examNode.setAttributeValue("idcard", "658987");
  8.                 examNode.addElement("name").setText("翟凌");
  9.                 examNode.addElement("location").setText("北京");
  10.                 examNode.addElement("grade").setText("89");
  11.         
  12.         
  13.         OutputFormat format = OutputFormat.createPrettyPrint();
  14.                 format.setEncoding("UTF-8");       
  15.                 XMLWriter writer = new XMLWriter(new FileOutputStream("src/exam.xml"),format);
  16.                  writer.write(document);
  17.                  writer.close();
  18.         }
复制代码

作者: Super_Class    时间: 2013-5-30 15:50
UTF-8中文解码是三个字节。

建议个GBK试一下。解码的时候是两个字节
作者: 小发    时间: 2013-5-30 19:24
GBK确实可以解决这问题,但是我都按老师的指定了format为什么还是会出现乱码呢!有没有学到这里的同学出现这个问题的?
作者: 小发    时间: 2013-5-30 19:25
Super_Class 发表于 2013-5-30 15:50
UTF-8中文解码是三个字节。

建议个GBK试一下。解码的时候是两个字节

GBK确实可以解决这问题,但是我都按老师的指定了format为什么还是会出现乱码呢?
作者: a464538715    时间: 2013-5-30 20:11
你看在eclipse中是否可以右键设置属性
作者: 小发    时间: 2013-5-30 20:17
a464538715 发表于 2013-5-30 20:11
你看在eclipse中是否可以右键设置属性

怎么设置属性,能具体点么
作者: a464538715    时间: 2013-5-30 20:26
小发 发表于 2013-5-30 20:17
怎么设置属性,能具体点么

右键 properties Resource
作者: 小发    时间: 2013-5-30 20:54
a464538715 发表于 2013-5-30 20:26
右键 properties Resource

缺省的是utf-8呀,没问题呀
作者: kimi    时间: 2013-5-30 21:11
response.setCharacterEncoding("GBK") ;
加上这句
作者: 小发    时间: 2013-5-30 21:32
kimi 发表于 2013-5-30 21:11
response.setCharacterEncoding("GBK") ;
加上这句

用GBK确实没问题,我想问的是为什么我这样就出现乱码了呢?
作者: 殇_心。    时间: 2013-5-31 10:14
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
作者: 小发    时间: 2013-5-31 10:47
有没有遇到这个问题的同学呀{:soso_e109:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2