`

Plugin-project开发,java文件编码

阅读更多

最近在做RCP应用的时候,需要生成文件,而使用编码为UTF-8。在eclipse中调试时,生成的文件的没有任何问题,将项目提交后,有小组成员提交报告说生成的字符集在UTF-8的编码集下显示为乱码。经过调试查看,发现编码集采用了GBK编码,遂不解。
通过查找文件生成的代码,定位如下:

Java代码  收藏代码
  1. FileWriter fileWriter = new FileWriter(file);  
  2. fileWriter.write(content);  

 怀疑问题出现在FileWriter中,通过查看FileWriter的编码。在RCP的应用中加上了调试的信息。

Java代码  收藏代码
  1. FileWriter fileWriter = new FileWriter(file);  
  2. MessageDialog.openInformation(null"字符集编码", fileWriter.getEncoding());  

 
发现在eclipse中调试时,显示为utf8,而将RCP应用打包后,再调试时,显示为GBK。
最后经过查询时得知,在FileWriter是根据默认的平台来使用字符的编码。
如果要使用UTF-8的编码,则可改用OutputStreamWriter。
将代码改成如下:

Java代码  收藏代码
  1. OutputStreamWriter outputStream = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");  
  2. outputStream.write(content);  

 
测试,OK!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics