Displaying chess pieces with unicode in eclipse using java

Hay1990 picture Hay1990 · Oct 5, 2011 · Viewed 8.3k times · Source

Im just trying to display some unicode chess symbols in eclipse using java, however it just prints out the random rectangles, and unless chess pieces have taken a radical change in style lately- i dont think its what i want. Help is much appreciated!

my code:

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);
}
}

Answer

Kathy Van Stone picture Kathy Van Stone · Oct 5, 2011

If you are using the Eclipse run configuration to run your code, you need to set the character encoding of the console dialog. You can do this (I'm checking Indigo, I am not certain about earlier versions) by bringing up Run Configurations, selecting the Java run command in question, clicking on the Common tab, and on the right there is a way to select the character encoding of the console (which much be UTF8 for your program to work).

I found this out by typing "encoding for console" in the search help dialog.