使用IBM Java显示西里尔文字符串时出现问题
我试图使用IBMJava将简单的西里尔文字符串打印到控制台,但这里没有正确的字符串,而是垃圾。拉丁字符串打印正确。 我该怎么做才能解决这个问题 我使用的是IBM J9虚拟机(build 2.9,JRE 1.8.0 Windows 10 amd64-64压缩参考20180425_385365(启用JIT,启用AOT) 源字符串: "Простой текст" 结果: ���⮩ ⥪�� 如果我使用的是OracleJDC,它也可以正常工作。 我的源代码文件用UTF-8编码,控制台用UTF-8工作。 此外,我还尝试从中运行代码使用IBM Java显示西里尔文字符串时出现问题,java,cyrillic,Java,Cyrillic,我试图使用IBMJava将简单的西里尔文字符串打印到控制台,但这里没有正确的字符串,而是垃圾。拉丁字符串打印正确。 我该怎么做才能解决这个问题 我使用的是IBM J9虚拟机(build 2.9,JRE 1.8.0 Windows 10 amd64-64压缩参考20180425_385365(启用JIT,启用AOT) 源字符串: "Простой текст" 结果: ���⮩ ⥪�� 如果我使用的是OracleJDC,它也可以正常工作。 我的源代码文件用UTF-8编码,控制台用UTF-8工作。
没有任何更改。问题出在IBM JDK中:它将java类中错误的西里尔字母符号从cp1251转换为UTF-8,因此我将源代码转换为UTF-8并重写文本-这就解决了问题。确保在任何地方都使用相同的字符编码(源代码、编译器设置、终端等等)您的主机可能不支持此编码。我添加了一些其他信息。我的主机正确支持西里尔字母编码。
public static void main(String[] args) {
String text = "Простой текст";
System.out.println(text);
}
}