我正在尝试打印简单的西里尔字母字符串以使用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运行代码 并保持不变。
答案 0 :(得分:0)
问题出在IBM JDK中:它将java类中的错误西里尔符号从cp1251转换为UTF-8,所以我将源代码转换为UTF-8并重写文本-这样就解决了问题。