Plugin-project開發,java檔案編碼
阿新 • • 發佈:2019-01-30
最近在做RCP應用的時候,需要生成檔案,而使用編碼為UTF-8。在eclipse中除錯時,生成的檔案的沒有任何問題,將專案提交後,有小組成員提交報告說生成的字符集在UTF-8的編碼集下顯示為亂碼。經過除錯檢視,發現編碼集採用了GBK編碼,遂不解。
通過查詢檔案生成的程式碼,定位如下:
- FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(content);
懷疑問題出現在FileWriter中,通過檢視FileWriter的編碼。在RCP的應用中加上了除錯的資訊。
Java程式碼- FileWriter fileWriter = new FileWriter(file);
- MessageDialog.openInformation(null, "字符集編碼", fileWriter.getEncoding());
發現在eclipse中除錯時,顯示為utf8,而將RCP應用打包後,再除錯時,顯示為GBK。
最後經過查詢時得知,在FileWriter是根據預設的平臺來使用字元的編碼。
如果要使用UTF-8的編碼,則可改用OutputStreamWriter。
將程式碼改成如下:
- OutputStreamWriter outputStream =
- outputStream.write(content);
測試,OK!