问题:
在使用斯洛文尼亚键盘布局的英文Windows 10上,所有命令行接口在显示(打印) UTF-8字符(即č,š和ž)时似乎都遇到了问题,这些字符被替换为?(我假设所有UTF-8特定字符,因为ć和đ也不工作。)
在以下方面测试:
迄今已尝试过:
样本代码:
public class Test2 {
public static void main(String[] args) {
System.out.println("č š ž ć đ");
}
}CMD:
>javac -encoding UTF-8 test2.java
>java Test2
? ? ? ? ? 其他说明:
在几台运行在不同硬件上的计算机上出现了问题。默认情况下,上述所有字符在上述所有CLI中都可以很好地工作。因此,这个问题似乎只出现在java中。
发布于 2018-02-27 19:23:45
使用chcp 65001,然后与java -Dfile.encoding=UTF-8 Test2一起运行
chcp 65001
javac -encoding UTF-8 Test2.java
java -Dfile.encoding=UTF-8 Test2记住将Java源文件命名为类名,区分大小写.
发布于 2018-02-27 20:41:39
在遵循@Andreas的建议之后,我进一步探讨了这个问题,并找到了一个有效的解决方案:
第一次强制cmd使用chcp 65001 (UTF-8)跟随this link对超级用户.
其次,使用以下命令:
set JAVA_TOOL_OPTIONS =-Dfile.encoding=UTF-8https://stackoverflow.com/questions/49016189
复制相似问题