2012-02-01 8 views
5

愚かな質問を申し訳ありません。データベースからJava XMLファイルにハート記号を印刷しようとしています。しかし、同じものが「?」と印刷されています。私はどこに行方不明であるか分からない。 charユニコードを試してみました。練習としては、メインメソッドで使ってみました。サンプル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

好奇心から外れて、hollowHeartは他のすべてが文字列である場合にcharによって表される唯一の定数ですそれを文字列として表現しようとしましたか?あなたは何を試しましたか、その影響は何ですか? –

+0

私は過去に同様の問題を経験しました。私はXMLファイルに書き込んだプログラムを作成しました。プログラムがEclipse IDEから起動された場合、XMLファイルの内容は期待どおりでしたが、Windowsコンソールから起動された場合、「?」シンボル。どのようにXMLを書くのですか? – ka3ak

+0

さまざまな方法で試してみましたが、文字列で試してみました。 – Kiran

答えて

7

出力が着陸するコンソールの設定によって異なると思います。

Eclipseでコードをコンパイルして実行し、ハート記号が表示されています。しかし、標準のWindowsコンソールからプログラムを実行すると、 "?"心臓のシンボルの代わりに。

ただし、Eclipseの標準設定を変更する必要があります。

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

+1と思っていましたが、私の仕事ではこれを確認できませんでした:D – Serhiy

+0

まだ運がありません: – Kiran

0

System.out.printlnはサポートしていません。私はMACのUnicode文字を使用しています。

リファレンスFrom MACWORLD

=新しいのPrintStream(System.outに、真、 "UTF-8")この

のPrintStreamを試してみてください。

out.println(t);

また、UnsupportedEncodingExceptionをスローするか、処理する必要があります。

+0

まだ、 eclipseワークベンチは、出力を見つけてください: - ? ?コード™ 、Aは、 - パブリック静的無効メイン(文字列[] args){ \t \t \t \t文字列T = "\のu2665"。 \t \t文字列myUnicodeSymbol = "\ u05D0"; \t \t文字列hollowHeart = "\ u2661"; \t \t文字列hollowDiamond = "\ u2662"; \t \t String spade = "\ u2660"; \t \t文字列club = "\ u2663"; \t \t \t \t \tのPrintStreamアウト。 \t \t { \t \t \t out = new PrintStream(System.out、true、 "UTF-8"); \t \t \t out.println(spade); \t \t}キャッチ(にUnsupportedEncodingException電子){ \t \t \t \t \t \t e.printStackTrace(); \t \t} – Kiran

関連する問題