【问题标题】:How to change file encoding table in java如何在java中更改文件编码表
【发布时间】:2011-06-22 12:18:29
【问题描述】:

我有我的代码来检查编码表:

System.out.println("enc. table: "+System.getProperty("file.encoding") +
          "enc. table: "+new java.io.OutputStreamWriter(new java.io.ByteArrayOutputStream()).getEncoding() + 
          "enc. table:" + java.nio.charset.Charset.defaultCharset().name());

当我从 Windows 启动时,我得到带有 cp1250 的文本文件,当我从嵌入式系统启动时,我得到带有 cp852 的文本文件。在 Windows 中,我设置了代码页 852。在 Eclipse 中,我设置了 cp852。有什么解决办法?

【问题讨论】:

  • 如何从 java.lang. 语法上更改所有这些设置。这可能吗?
  • 你不需要改变它。所有需要编码的 jdk 类都允许您手动指定它。 (并且您无法在运行时可靠地更改默认值)。

标签: java encoding character-encoding codepages file-encodings


【解决方案1】:

您确实应该在 OutputStreamWriter 上指定所需的编码。

new OutputStreamWriter(outstream, "cp852");

您可能还想阅读 Joels 的文章 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2016-06-04
    • 1970-01-01
    • 2011-04-14
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多