问题
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);
}
}
回答1:
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.
回答2:
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
回答3:
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.
回答4:
Most likely the font does not have the glyphs you need. Try changing the font of the console.
来源:https://stackoverflow.com/questions/7665120/displaying-chess-pieces-with-unicode-in-eclipse-using-java