8

Javaを使用してEclipseでユニコードのチェス記号を表示しようとしていますが、ランダムな長方形を出力するだけで、最近チェスの駒のスタイルが根本的に変化していない限り、それが私が望むものだとは思いません. 助けていただければ幸いです。

私のコード:

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

4 に答える 4

3

Eclipse 実行構成を使用してコードを実行している場合は、コンソール ダイアログの文字エンコーディングを設定する必要があります。これを行うには、実行構成を表示し、問題の Java 実行コマンドを選択し、[共通] タブをクリックします。右側に、コンソールの文字エンコーディング (プログラムが動作するためには UTF8 が必要です)。

これは、検索ヘルプ ダイアログに「encoding for console」と入力して見つけました。

于 2011-10-05T17:42:01.893 に答える
2

Eclipse で、[実行] -> [構成の実行] をクリックします。-> 共通タブ -> エンコーディング -> その他 : UTF-8 : ここで修正

Windows 7 でバージョン: Helios Service Release 2、ビルド ID: 20110218-091 を実行しています。

コマンドラインも試してみてください。

これは、Eclipse のコンソールの問題です。この記事を参照してください。eclipse.ini を編集する必要があります - http://paranoid-engineering.blogspot.com/2008/05/getting-unicode-output-in-eclipse.html

于 2011-10-05T17:42:46.377 に答える
1

ほとんどの場合、必要なグリフがフォントに含まれていません。コンソールのフォントを変更してみてください。

于 2011-10-07T08:30:03.847 に答える
1

あなたのコードを試してみましたが、私の Linux では正しく動作します。ベアシェルとEclipseから試しました。これは Java の問題ではなく、コンソールの文字セットの問題です。コンソールが受け入れるエンコーディングを調べて、それが UTF8 であることを確認する必要があります。Eclipseはそれを考慮に入れるべきではありません。

于 2011-10-05T17:25:18.647 に答える