0

当我使用编码“windows-1252”编写文件时遇到一个问题:我不知道确切的时间,但有时,文件是用 Big5(中文)编码的。我控制记事本++中的编码

例如,字符串“¤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”在记事本++中是“ANSI”,而文件“file_ko.txt”在记事本++中是“Big5 Traditional”

我已经测试了很多案例,但我没有确定问题是什么,很奇怪......

谢谢你的帮助。

4

0 回答 0