PrintStream ps = new PrintStream(System.out, false, "UTF-8");
ps.println("öäüß гджщ");
然后我打开cmd.exe,将其字体更改为支持Unicode的Lucida Console,使用“chcp 65001”更改代码页为Unicode并执行我的程序。
德语和俄语字符被打印出来了,但比我预期的多了一点文字(用红线下划线标出):
但在Eclipse控制台中,文本正确地被打印出来了。是否有方法可以在Windows控制台中正确打印它? 我使用的是Windows 7。
我刚刚通过JNI解决了这个问题,但仍然想知道是否可以使用纯Java解决。
System.console().printf(...)
比System.out.println(...)
方法更好地支持特殊字符。”有关类似帖子,请参见:https://dev59.com/12865IYBdhLWcg3wEaQw - bvdb