在使用dom4j生成xml文件时,如果设置编码为gbk,如下面的代码,则不会出现中文乱码
OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("gb2312"); XMLWriter output = new XMLWriter(new FileWriter("event.xml"), format); output.write(document); output.close();
这时,生成的xml头文件为 “<?xml version="1.0" encoding="gb2312"?>”
但要将format编码设置为utf-8时,则会出现问题,即用文本文档打开生成xml,中文不会出现问题,但用高级记事本编辑器,如editplus和eclipse打开时,都会出现中文乱码,此时xml的头文件为
<?xml version="1.0" encoding="UTF-8"?>
XML文件头部的encoding="utf-8"是告诉编辑器以什么编码方式解析文件内容,但改成utf-8出现乱码是因为:由于FileWriter默认的输出编码是ANSI编码,而Dom4j中的wirte方法提供的内容实际是以UTF-8保存的,因此造成了包括中文字符的XML文件无法正常阅读
所以可以修改为:
OutputFormat format = OutputFormat.createPrettyPrint(); java.io.OutputStream out = new java.io.FileOutputStream("event.xml"); java.io.Writer wr = new java.io.OutputStreamWriter(out, "UTF-8"); XMLWriter output = new XMLWriter(wr,format); output.write(document); wr.close(); out.close(); output.close();
其实就是用可改变编码的OutputStreamWriter代替了普通的FileWriter,就是这么简单。
相关推荐
如果使用STL,TinyXML会使用std::string类,而且完全支持std::istream,std::ostream,operator和operator>>。许多API方法都有 ‘const char*’和’const std::string&’两个版本。 如果被编译成不使用STL,则任何...
全书一共被压缩为5个rar,这是第四个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第三个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第五个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
中文乱码问题及其解决方案 使用responseText处理返回的普通文本信息 实战技巧:数据校验 实战技巧:级联菜单 实战技巧:条目内容 实战技巧:级联下拉列表 使用responseXML处理返回的XML信息 实战技巧:获取元对象...
常见问题 读取Properties文件出现中文乱码 182 第9章 Java异常处理与反射机制 183 实例73 运用throws、throw、try与catch 183 实例74 throws声明异常的实例 185 实例75 自定义异常类 187 实例76 使用finally...
1.该版本修正了jenfy美化版留言薄出现乱码的问题 2.增加了文章的上下篇功能 3.修正了幻灯片图片路径出错的BUG 4.实现了首页自动生成html文件功能 【JTBC(CMS)-jenfy美化修正无错版使用说明】 数据库路径为common/...
服务器:Windows 2000及IIS5.0以上,需要ADO数据库、FSO、XMLDOM等系统组件支持和空间的读写权限,具体请查询网络服务商或查看本机配置。客户端:支持Mozilla FireFox 1.0、IE6.0、Opear 8.0及更高版本的浏览器。...
{14.4}dom4j}{207}{section.14.4} {14.5}XPath}{210}{section.14.5} {14.6}apache.commons}{211}{section.14.6} {15}sqlite3}{213}{chapter.15} {16}Web基础}{215}{chapter.16} {16.1}...