如何将ANSI编码的文件自动转换为UTF-8 第二种,用UltraEdit可以直接转换. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我需要的是JAVA程序自动转换,否则我直接用计事本就转了 我现在有一个文件其文件头使用encoding="UTF-8"这个设置是告诉xml解析器以UTF-8的编码来解析xml文本内容,并不能指定xml文档的编码格式不过我记得dom4j可以解析ansi编码的xml文档啊?莫非记错了?赶明儿验证一下看,现在太晚了 ^_^ to:zcjl但是在ansi编码中如果有中文的话,dom4j就会解析失败 采用filereader之类的中间IO类设置ANSI方式读入导出到另一个UTF编码的IO类paser对 那个UTF编码 进行解析不知是否可行 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的方式好像就可以了(示例中没有异常处理) to:zcjl还是不行,我是过了,尽管使用in.getEncoding()返回的是UTF8,但是以解析还是失败 原来写的,给你参考下,不知能否帮上忙: //将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; } 我现在知道原因了,这个是因为java虚拟机的默认编码为GBK,如果用GB18030就好了,不过我不知道怎么改这个是虚拟机的属性file.encoding。 jdk有个自带的工具:native2ascii.exe,可以转换文件的编码。 过年闲得无聊、就弄了个网站,大伙给点意见 java.lang.NoSuchFieldError: sqlResultSetMappings 这个是什么问题呢,maven拆分项目的时候跑web项目出现的 javaEE中的session问 用户权限管理代码 急,请教 连接数据库问题 北京华路时代招聘JAVA软件开发工程师5人 求一函数:abcdefg字符串中从第3个位置开始,长度为4的字符串。即为cdef 怎样让ejb连接数据库? 要在jsp见面显示当前日期+星期以及接下来的6天 请教高手hibernate POJO的继承问题? spring中aop的初学问题
这个设置是告诉xml解析器以UTF-8的编码来解析xml文本内容,并不能指定xml文档的编码格式
不过我记得dom4j可以解析ansi编码的xml文档啊?莫非记错了?
赶明儿验证一下看,现在太晚了 ^_^
设置ANSI方式读入
导出到另一个UTF编码的IO类
paser对 那个UTF编码 进行解析
不知是否可行
Reader in = new BufferedReader(new FileReader("e:/test.xml"));
Document doc = sReader.read(in);
in.close();
System.out.println(doc.asXML());用java.io.Reader的方式好像就可以了(示例中没有异常处理)
还是不行,我是过了,尽管使用in.getEncoding()返回的是UTF8,但是以解析还是失败
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;
}