在Eclipse中使用Java显示国际标准码编码的棋子

9

我想在Java中使用Eclipse显示一些Unicode象棋符号,但它只打印出随机的矩形,除非国际象棋棋子最近发生了根本性的变化 - 我不认为这是我想要的。非常感谢您的帮助!

我的代码:

import java.io.PrintStream;
import java.io.UnsupportedEncodingException;

public class ChessSymbols {
public static void main (String [ ] args)throws
UnsupportedEncodingException {
        String unicodeMessage =
                        "\u2654 " + // white king
                        "\u2655 " + // white queen
                        "\u2656 " + // white rook
                        "\u2657 " + // white bishop
                        "\u2658 " + // white knight
                        "\u2659 " + // white pawn
                        "\n" +
                        "\u265A " + // black king
                        "\u265B " + // black queen
                        "\u265C " + // black rook
                        "\u265D " + // black bishop
                        "\u265E " + // black knight
                        "\u265F " + // black pawn
                        "\n" ;
        PrintStream out = new PrintStream (System.out, true , "UTF8" );
        out.println(unicodeMessage);
}
}
4个回答

3
如果您正在使用Eclipse运行配置来运行代码,您需要设置控制台对话框的字符编码。您可以通过打开运行配置,在Java运行命令上选择Common选项卡,然后在右侧选择控制台的字符编码(必须为UTF8才能使程序正常工作)。我是通过在搜索帮助对话框中输入“控制台编码”来发现这一点的。

2

1
Windows,真是一团糟... +1 个链接。 - Luca Geretti
1
我指的是从您提供的链接内容中发生了什么。 - Luca Geretti
@l10i - 是的,我知道 :) ,对不起那个比使用菜单更混乱。 - Caffeinated
1
@Adel 谢谢老兄,我试过了,但它并没有解决问题 :( - Hay1990

1
很可能字体没有你所需的字形。 尝试更改控制台的字体。

1

我尝试了你的代码,在我的Linux上它确实可以正常工作。 我从裸壳和Eclipse中都尝试过。 这不是Java的问题,而是控制台字符集的问题。你需要查看控制台接受的编码,并确保它是UTF8。Eclipse不应该影响到这个。


@l10i 那我该如何检查控制台接受的编码方式呢?我通过添加“-Dfile.encoding=UTF-8”来更改eclipse.ini配置文件。我以为这样可以在控制台中使用Unicode。谢谢。 - Hay1990
你设置的是文件的编码。这不是我们正在处理的编码。我们想要控制台的“显示”编码。首先,你的操作系统是什么? - Luca Geretti
@l10i Windows 64位。我已经尝试了上述方法,但没有成功。我还尝试通过删除.ini文件中所做的编辑,并仅通过运行配置来完成,以及两者都尝试过。但是都没有任何改变。有什么想法吗? - Hay1990
让我们逐步分析问题。当从裸露的Windows shell运行您的Java类时,是否会产生正确的字符?至少这样我们可以确定Eclipse是否对此有影响。 - Luca Geretti
@l10i k,我刚试了一下,在shell中不起作用。这是不是意味着它是一个Windows的问题?顺便说一句,谢谢你。 - Hay1990
很遗憾,从那个意义上来说还不够确定。我建议你首先修复你的Windows控制台,然后再检查Eclipse是否能正常工作。由于我无法访问Windows PC,所以无法为你提供更多帮助。 - Luca Geretti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接