使用Java中的Cp1250创建文件

时间:2012-11-15 10:27:59

标签: java file character-encoding cp1252 cp1250

我正在尝试使用 Cp1250 字符集创建文件:

out = new BufferedWriter(
        new OutputStreamWriter(
        new FileOutputStream("/path/filename"), Charset.forName("Cp1250")));

然而,当我用juniversalchardet检测到实际的字符集时, 它说 WINDOWS-1252 Cp1252 (根据javadoc)。

Enca(enca -L czech -g filename)检测到 ISO-8859-2

如何准确设置 Cp1250 (或使用java.nio API名称, windows-1250 )?

谢谢

卡雷尔

1 个答案:

答案 0 :(得分:3)

对于所有文件基本上有效的编码,任何编码检测程序都只能是启发式的(例如,每个字符总是一个字节,并且字符映射到每个字节的编码)。

您应该编码一些您知道会在Windows-1250Windows-1252之间产生不同结果的文字,并查看您的代码实际执行的操作。我怀疑你会发现它确实在做正确的事情。