日期:2014-05-20  浏览次数:20683 次

直接运行jar文件生成的xml文件出现乱码
在我做的一个项目中有一个功能是通过拼接字符串生成xml文件,在MyEclipse和Eclipse中运行都没问题,生成的xml文件是UTF-8格式,中文没有乱码,但是在我把项目打包成jar文件后,通过命令行来运行jar后,生成的xml文件中的中文却是乱码,我原来用的是通过字符流来输出内容,后来换成了字节流后生成的xml文件仍旧是乱码。还请大家帮忙分析一下原因。谢谢了啊
与生成xml文件的部分代码如下所示:
Java code

File file = new File("success.xml");// 生成的xml文件名称
fos = new FileOutputStream(file, true);
bos = new BufferedOutputStream(fos);
bos.write(buffer.toString().getBytes());//buffer里面的内容是通过调用其他方法获取字符内容




------解决方案--------------------
1 你的jar也是在同样的机器上运行的吗?
2 最好不要自己拼xml。容易错,尤其是转义字符等;
3 buffer是xml的内容吧,如果要用utf-8这里的getBytes("utf-8")。
------解决方案--------------------
PrintWriter writer = new PrintWriter(file,"UTF-8");

writer.print(...);
writer.println(...);
writer.printf(...);
------解决方案--------------------
探讨

PrintWriter writer = new PrintWriter(file,"UTF-8");

writer.print(...);
writer.println(...);
writer.printf(...);