第二种,用UltraEdit可以直接转换.

解决方案 »

  1.   

    我需要的是JAVA程序自动转换,否则我直接用计事本就转了
      

  2.   

    我现在有一个文件其文件头使用encoding="UTF-8"
    这个设置是告诉xml解析器以UTF-8的编码来解析xml文本内容,并不能指定xml文档的编码格式
    不过我记得dom4j可以解析ansi编码的xml文档啊?莫非记错了?
    赶明儿验证一下看,现在太晚了 ^_^
      

  3.   

    to:zcjl但是在ansi编码中如果有中文的话,dom4j就会解析失败
      

  4.   

    采用filereader之类的中间IO类
    设置ANSI方式读入
    导出到另一个UTF编码的IO类
    paser对 那个UTF编码 进行解析
    不知是否可行
      

  5.   

    SAXReader sReader = new SAXReader();
    Reader in = new BufferedReader(new FileReader("e:/test.xml"));
    Document doc = sReader.read(in);
    in.close();
    System.out.println(doc.asXML());用java.io.Reader的方式好像就可以了(示例中没有异常处理)
      

  6.   

    to:zcjl
    还是不行,我是过了,尽管使用in.getEncoding()返回的是UTF8,但是以解析还是失败
      

  7.   

    原来写的,给你参考下,不知能否帮上忙:  //将document对象作为String输出,参数是Document对象
      public String transformDOM(Document d) throws
          TransformerConfigurationException, TransformerException {
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer();
        ByteArrayOutputStream arry = new ByteArrayOutputStream();
        StreamResult sr = new StreamResult(arry);
        Properties properties = transformer.getOutputProperties();
        //这里转变字符的编码,才能正常的显示中文
        properties.setProperty(OutputKeys.ENCODING, "GB2312");
        transformer.setOutputProperties(properties);
        transformer.transform(new DOMSource(d), sr);
        String transformString = arry.toString();
        return transformString;
      }
      

  8.   

    我现在知道原因了,这个是因为java虚拟机的默认编码为GBK,如果用GB18030就好了,不过我不知道怎么改这个是虚拟机的属性file.encoding。
      

  9.   

    jdk有个自带的工具:native2ascii.exe,可以转换文件的编码。