例如
System.out.println("╚");
显示为 ?,同样适用于 System.out.println("\u255a");
为什么这不起作用?标准输出确实支持这些字符,所以我不明白。
See 这个问题 https://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding。当 Java 的默认字符编码不是 UTF-8 时(在 Windows 和 OS X 上似乎是这种情况,但在 Linux 上不是),则无法编码的字符将转换为问号。您可以通过正确的开关(-Dfile.encoding=UTF-8
在某些终端上,但我面前没有 Windows 盒子)到 JVM 的命令行,或者您可以设置一个环境变量。可移植地确定这应该是什么可能是不可能的,但是如果您知道您将始终在 Win32 控制台上运行,例如,您可以选择一个Charset http://download.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html在将字符写入标准输出之前对字符进行显式编码,或者您可以直接写入所需的字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)