A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小发 中级黑马   /  2013-5-30 12:39  /  1301 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

按照方力勋视频写的为什么出现乱码了呢?通过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.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

11 个回复

倒序浏览
UTF-8中文解码是三个字节。

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

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

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

怎么设置属性,能具体点么
回复 使用道具 举报
小发 发表于 2013-5-30 20:17
怎么设置属性,能具体点么

右键 properties Resource
回复 使用道具 举报
小发 中级黑马 2013-5-30 20:54:53
8#
a464538715 发表于 2013-5-30 20:26
右键 properties Resource

缺省的是utf-8呀,没问题呀
回复 使用道具 举报
kimi 中级黑马 2013-5-30 21:11:39
9#
response.setCharacterEncoding("GBK") ;
加上这句
回复 使用道具 举报
kimi 发表于 2013-5-30 21:11
response.setCharacterEncoding("GBK") ;
加上这句

用GBK确实没问题,我想问的是为什么我这样就出现乱码了呢?
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
有没有遇到这个问题的同学呀{:soso_e109:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马