Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Displaying chess pieces with unicode in eclipse using java

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);
}
}
like image 371
Hay1990 Avatar asked Oct 05 '11 17:10

Hay1990


3 Answers

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.

like image 99
Kathy Van Stone Avatar answered Nov 18 '22 13:11

Kathy Van Stone


In Eclipse, click Run -> Run Config. -> Common Tab -> Encoding -> Other : UTF-8 : this fixed it here

I'm running Version: Helios Service Release 2, Build id: 20110218-091 On Windows 7.

You may like to try using command line too.

It's an issue with Eclipse's console. Please see this article, you need to edit eclipse.ini - http://paranoid-engineering.blogspot.com/2008/05/getting-unicode-output-in-eclipse.html

like image 2
Caffeinated Avatar answered Nov 18 '22 11:11

Caffeinated


I tried your code and it does work correctly on my Linux. Tried it from the bare shell and from Eclipse. This is not a Java problem but a console charset problem. You have to look into the encoding your console accepts and make sure it is UTF8. Eclipse shouldn't factor in that.

like image 1
Luca Geretti Avatar answered Nov 18 '22 13:11

Luca Geretti