【发布时间】:2012-04-12 17:12:42
【问题描述】:
当我跑步时
char c= '\u0000';
System.out.println(c);
在 Eclipse 中,它会打印一个小方块,表示一个空字符。
但是当我在 CLI 中运行它时它会打印“a”。
然后我在其他电脑上运行,有的打印'a',有的打印空格。
为什么会这样?
我的操作系统是 Windows 7 Professional-32bit。其他系统是 windows xp。
我的java版本是jdk_1.6.0update12。
【问题讨论】:
-
你的命令提示符的字符编码是什么?
-
Windows 控制台无法正确处理 unicode。将其重定向到一个文件,它会显示正确的输出。
-
如果您使用健全的字体(即不是光栅字体),Windows 控制台应该正确显示 Unicode,除非是复杂的脚本。如果您输入 Unicode,它支持 Unicode,并且使用光栅字体可以将显示转换为 OEM 代码页。