使用 IBM Java 显示西里尔字符串时出现问题
Problem with displaying cyrillic string with IBM Java
我正在尝试使用 IBM Java 将简单的西里尔字符串打印到控制台,但没有正确的字符串而是垃圾。拉丁字符串打印正确。
我该怎么做才能解决这个问题?
我正在使用 IBM J9 VM(构建 2.9,JRE 1.8.0 Windows 10 amd64-64 压缩引用 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 的代码
并且没有任何变化。
问题出在 IBM JDK:它将 java class 中的错误西里尔符号从 cp1251 转换为 UTF-8,因此我将源代码转换为 UTF-8 并重写文本 - 问题就解决了。
我正在尝试使用 IBM Java 将简单的西里尔字符串打印到控制台,但没有正确的字符串而是垃圾。拉丁字符串打印正确。 我该怎么做才能解决这个问题?
我正在使用 IBM J9 VM(构建 2.9,JRE 1.8.0 Windows 10 amd64-64 压缩引用 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 的代码 并且没有任何变化。
问题出在 IBM JDK:它将 java class 中的错误西里尔符号从 cp1251 转换为 UTF-8,因此我将源代码转换为 UTF-8 并重写文本 - 问题就解决了。