【发布时间】: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 运行代码 并且没有得到任何更改。
【问题讨论】:
-
确保在所有地方使用相同的字符编码(源代码、编译器设置、终端...)
-
您的控制台很可能不支持这种编码。
-
我添加了一些附加信息。我的控制台正确支持西里尔编码。