java读取xml中文乱码

xml是用utf-8编码<?xml version="1.0" encoding="UTF-8"?>。通过dom4j读取xml,用了
SAXReader reader = new SAXReader();
Document doc = reader.read(new ByteArrayInputStream(xmlContent.getBytes("UTF-8")));
中文显示为乱码,请问怎么解决啊。

BufferedReader

别用这个,用BufferedInputStream。

直接
[code="java"]reader.read(new BufferedInputStream(new FileInputStream('xxx.xml')));[/code]

总之把字节流给到dom4j就可以了,不用去管编码。

[code="java"]reader.read(new FileInputStream(new File("xxx.xml")))[/code]这样吧 好像不需要指定编码的,dom4j中会自动转换,指定了编码反而会坏事,具体为什么没有深究过。