下面是一个简单的代码,在windows下读取没有问题,但放在linux上却出现乱码
private void countName(String name) {
SAXReader reader = new SAXReader();
try {
Document document = reader.read(new File(name));
Element root = document.getRootElement();
List<Node> list = root.selectNodes("//offer/title");
for (int j = 0; j < list.size(); j++) {
Node node = list.get(j);
String title = node.getText();
                                System.out.println(title); }
} catch (Exception e) {
e.printStackTrace();
} // System.out.println("total offer: " + totalOffer);
}
title节点的内容是中文
我用的是dom4j解析的,请问大家有什么好的解决方法,我已经尝试过对title的如下处理:
new String(title.getBytes("ISO-8859-1"),"utf-8");XML文件是utf-8格式的在线等待........

解决方案 »

  1.   

    就是编码的问题,不知道dom4j在什么地方可以设置读取的charset
      

  2.   

    读取xml文件是使用系统的本地编码,win默认的就是中文不会乱码,你看看linux下默认的字符编码是什么,如果是iso8859的话,你只有在读取xml文件内容后进行转换了, 如果是utf-8(rh9一般默认就是它),就需要将xml文件内容以utf-8的方式存储(用记事打开后,另存为时,选择要存储的字符编码)
      

  3.   

    有人知道吗,唉,郁闷,都搞了一天了,也没搞出来,
    有对dom4j比较熟的吗??
    在线等待!!!
      

  4.   

    谢谢各位啊,我知道了,dom4j 之前旧的版本中并没有这样一个方法:
    reader.setEncoding("utf-8");用dom4j 1.6就可以解决了,呵呵!!