Javaファイル生成時のエンコードの問題
最近ではRCPアプリケーションでファイルを生成する必要があり、UTF-8としてエンコードされています.eclipseでデバッグすると、生成されたファイルに問題はなく、プロジェクトをコミットすると、生成された文字セットがUTF-8の符号化セットの下で文字化されていると報告されたグループメンバーがコミットされます.デバッグしてみると,符号化セットはGBK符号化を採用していることがわかり,理解できなかった.ファイルで生成されたコードを検索して、次のように配置します.
疑わしい問題はFileWriterにあり、FileWriterのエンコードを表示します.RCPのアプリケーションにはデバッグの情報が付加されている.
eclipseでデバッグするとutf 8と表示され、RCPアプリケーションをパッケージ化してからデバッグするとGBKと表示されることがわかりました.最後に問い合わせたところ、FileWriterではデフォルトのプラットフォームに基づいて文字の符号化が使用されていることがわかりました.UTF-8のエンコーディングを使用する場合は、OutputStreamWriterに変更できます.コードを次のように変更します.
テスト、OK!
FileWriter fileWriter = new FileWriter(file);
fileWriter.write(content);
疑わしい問題はFileWriterにあり、FileWriterのエンコードを表示します.RCPのアプリケーションにはデバッグの情報が付加されている.
FileWriter fileWriter = new FileWriter(file);
MessageDialog.openInformation(null, " ", fileWriter.getEncoding());
eclipseでデバッグするとutf 8と表示され、RCPアプリケーションをパッケージ化してからデバッグするとGBKと表示されることがわかりました.最後に問い合わせたところ、FileWriterではデフォルトのプラットフォームに基づいて文字の符号化が使用されていることがわかりました.UTF-8のエンコーディングを使用する場合は、OutputStreamWriterに変更できます.コードを次のように変更します.
OutputStreamWriter outputStream = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
outputStream.write(content);
テスト、OK!