很抱歉提出一个愚蠢的问题,我们正在尝试将心脏符号从数据库打印到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("<HEAD>");
buffer.append("<HEART>").append(hollowHeart).append("</HEART>");
buffer.append("</HEAD>");
System.out.println(t);
System.out.println(buffer.toString());
}
输出是: - ? ?
不确定我错过了什么。
答案 0 :(得分:7)
我认为这取决于输出着陆的控制台的设置。
我已经在Eclipse中编译并运行了代码,并且已经看到了heart符号。但是,如果我从标准的Windows控制台运行该程序,那么我看到“?”而不是心脏符号。
但是,您需要在Eclipse中更改标准设置。
Window -> Preferences -> General -> Workspace -> set "Text file encoding" to "Other: UTF-8"
答案 1 :(得分:0)
System.out.println不支持我认为MAC中的Unicode字符。
试试这个
PrintStream out = new PrintStream(System.out,true,“UTF-8”);
通过out.println(T);
您还需要抛出UnsupportedEncodingException或处理它。