? 同时打印心脏符号

很抱歉问一个愚蠢的问题,我们正在尝试将心脏符号从数据库打印到Java XML文件。 但同样的印刷品是“?” 不知道我错过了哪里。 尝试过char unicode。 作为一种练习,我在main方法中尝试使用它。 请查找示例java类。

public static void main(String[] args) { String t = "\u2665"; String myUnicodeSymbol = "\u05D0"; char hollowHeart = '\u2661'; String hollowDiamond = "\u2662"; String spade = "\u2660"; String club = "\u2663"; StringBuffer buffer = new StringBuffer(""); buffer.append("").append(hollowHeart).append(""); buffer.append(""); System.out.println(t); System.out.println(buffer.toString()); } 

输出是: – ? ?

不知道我错过了什么。

我认为这取决于输出着陆的控制台的设置。

我已经在Eclipse中编译并运行了您的代码,并且已经看到了heart符号。 但是,如果我从标准的Windows控制台运行该程序,那么我看到“?” 而不是心脏符号。

但是,您需要在Eclipse中更改标准设置。

 Window -> Preferences -> General -> Workspace -> set "Text file encoding" to "Other: UTF-8" 

System.out.println不支持我认为MAC中的Unicode字符。

来自MACWORLD的参考

试试这个

PrintStream out = new PrintStream(System.out,true,“UTF-8”);

通过out.println(T);

您还需要抛出UnsupportedEncodingException或处理它。