【问题标题】:Problem with displaying cyrillic string with IBM Java使用 IBM Java 显示西里尔字符串的问题
【发布时间】:2019-07-05 07:33:26
【问题描述】:

我正在尝试使用 IBM Java 将简单的西里尔文字符串打印到控制台,但不是正确的字符串,而是垃圾。拉丁字符串打印正确。 我该怎么做才能解决这个问题?

我正在使用 IBM J9 VM(内部版本 2.9,JRE 1.8.0 Windows 10 amd64-64 Compressed References 20180425_385365(启用 JIT,启用 AOT)

    public static void main(String[] args)  {

        String text = "Простой текст";
        System.out.println(text);
    }
}

源字符串: “Простой текст” 结果: ��⮩ ⥪��

另外,如果我使用的是 Oracle JDC,它也可以正常工作。 我的源代码文件以 UTF-8 编码,控制台以 UTF-8 工作。 另外,我尝试从Unable to print russian characters 运行代码 并且没有得到任何更改。

【问题讨论】:

  • 确保在所有地方使用相同的字符编码(源代码、编译器设置、终端...)
  • 您的控制台很可能不支持这种编码。
  • 我添加了一些附加信息。我的控制台正确支持西里尔编码。

标签: java cyrillic


【解决方案1】:

问题出在 IBM JDK 中:它将 java 类中的错误西里尔符号从 cp1251 转换为 UTF-8,因此我将源代码转换为 UTF-8 并重写文本 - 这解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2014-08-22
    • 2015-05-19
    • 2020-08-14
    • 2014-06-07
    • 2011-08-18
    • 2020-06-15
    相关资源
    最近更新 更多