gpt4 book ai didi

java - 为什么某些 ASCII 和 Unicode 字符无法用 java 写入命令提示符?

转载 作者:行者123 更新时间:2023-12-02 01:00:15 25 4
gpt4 key购买 nike

我尝试用java编写一个控制台纸牌游戏。我必须使用这些 ♥ ♣ ♠ 字符。但是当我在命令提示符下启动程序时,字符看起来像什么? ? ? ? 。我尝试了 Unicode 和 ASCII,得到了相同的结果。我用的是intellij idea。我可以写出这些 Ascii 字符 217┘ 218┌ 191┐ 192└ 196─

我尝试像这样打印它们

System.out.println("♥")

System.out.println(Character.toString('\u2661'))

Unicode 字符\u2661 ...等等。ASCII 3 4 5 6

它适用于 Intellij Idea 终端。当我尝试在命令提示符 alt+3 上手动书写时,我可以写 ♥ 但当开始游戏时它看起来像?

here a png of my default encoding.xml

here output of Inellij console

and here output of cmd console

────────────────────────────────────────────────

编辑:

try {
if (System.getProperty("os.name").contains("Windows")){
new ProcessBuilder("cmd", "/c", "chcp 65001").inheritIO().start().waitFor();
}
} catch (IOException | InterruptedException ex) {}

最佳答案

您真正需要粘贴的只是System.out.println("♥"),其余内容无关紧要。

您的问题中没有足够的信息来提供正确的答案。我认为它是以下三个之一:

[1] 您的文件采用某种字符集编码(例如 UTF-8),但生成类文件的 javac 运行配置为 -encoding ISO-8859-1 或其他内容那不是 UTF-8。如果你让 intellij 为你编译它,我有点怀疑就是它了。

[2] 您运行此命令的控制台(也许是 intellij 的控制台 View )也有一个字符集编码,但它不是 UTF_8。

[3] 它一直都是 UTF-8,但是,用于呈现它的字体没有可用的符号。这也是不太可能的;渲染缺失字符的通常方法是一个盒子,或者一个里面有问号的菱形,而不是一个普通的?。或者这就是你所看到的?

关于java - 为什么某些 ASCII 和 Unicode 字符无法用 java 写入命令提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60747856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com