我从命令行(Windows7)运行Java程序。为了简化问题,我只描述相关的部分。
public static void main(String[] args) {
System.out.println("Árpád");
}我的输出是垃圾。这显然是一个字符编码问题,匈牙利字符的α和α没有正确显示。我尝试过以下几种方法:
public static void main(String[] args) {
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.println("Árpád");
}但是我的输出仍然是垃圾。如何使用Windows 7命令行解决此字符编码问题?谢谢
发布于 2012-12-25 21:06:23
我从命令行找到了正确的编码,然后将PrintStream版本与该编码一起使用,或者在命令行中指定该编码并只使用System.out.println,从而使您的代码正常工作。
要查找命令行上的编码,请运行chcp。下面是我得到的输出:
Active code page: 850它与Java字符集名称"IBM850“相对应。因此,这将在命令行上创建正确的输出:
java -Dfile.encoding=IBM850 Testhttps://stackoverflow.com/questions/14030811
复制相似问题