yantaoguo
2012-01-18 17:06
浏览 720
已采纳

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")));
中文显示为乱码,请问怎么解决啊。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • jkxydp 2012-01-18 17:57
    已采纳

    BufferedReader

    别用这个,用BufferedInputStream。

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

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

    打赏 评论
  • jkxydp 2012-01-18 17:12

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

    打赏 评论