0

エンコーディング "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" です。

多くのケースをテストしましたが、何が問題なのか特定できませんでした。非常に奇妙です...

ご協力いただきありがとうございます。

4

0 に答える 0