例如 System.out.println("╚"); 显示为 ?,System.out.println("\u255a"); 也是如此;
为什么这行不通? Stdout 确实支持这些字符,所以我不明白。
最佳答案
参见 this question .当 Java 的默认字符编码不是 UTF-8 时——在 Windows 和 OS X 上似乎是这种情况,但在 Linux 上不是——然后编码失败的字符将转换为问号。您可以将正确的开关(-Dfile.encoding=UTF-8
在某些终端上,但我面前没有 Windows 框)传递给 JVM 的命令行,或者您可以设置一个环境变量。可移植地确定这应该是什么可能是不可能的,但是如果您知道您将始终在 Win32 控制台上运行,例如,您可以选择 Charset。在将字符写入标准输出之前对其进行显式编码,或者您可以直接写入所需的字节。
关于java - 扩展 Ascii 在控制台中不起作用!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5100250/