エンコーディング "windows-1252" でファイルを書き込むときに問題に直面しています:正確なタイミングはわかりませんが、ファイルが Big5 (中国語) でエンコードされている場合があります。notepad ++でエンコーディングを制御します
たとえば、文字列 "¤idParam¤vidProduit1¤¤idParam2¤v2¤v" は (windows-1252 ファイルで) 適切にエンコードされていますが、文字列 "¤¤idParam¤vidProduit1¤¤idParam2¤v2¤v" は正しくエンコードされていません。
私はEclipse Marsとjdk1.8.0_92でテストしています。
それをテストする私のコード:
@Test
public void testFichier() throws Exception {
File file1 = new File("target/file_ko.txt");
Writer writer1 = Files.newBufferedWriter(file1.toPath(), Charset.forName("windows-1252"));
writer1.write("¤¤idParam¤vidProduit1¤¤idParam2¤v2¤v");// ko
writer1.close();
File file2 = new File("target/file_ok.txt");
Writer writer2 = Files.newBufferedWriter(file2.toPath(), Charset.forName("windows-1252"));
writer2.write("¤idParam¤vidProduit1¤¤idParam2¤v2¤v");// ok
writer2.close();
}
ファイル "file_ok.txt" は notepad++ では "ANSI" ですが、ファイル "file_ko.txt" は notepad++ では "Big5 Traditional" です。
多くのケースをテストしましたが、何が問題なのか特定できませんでした。非常に奇妙です...
ご協力いただきありがとうございます。