2012-02-01 17 views
5

Xin lỗi vì đã đặt câu hỏi ngu ngốc, Chúng tôi đang cố in biểu tượng trái tim từ cơ sở dữ liệu sang tệp Java XML. Nhưng điều tương tự cũng được in là "?" không chắc chắn nơi tôi đang mất tích. Đã thử unicode char. Như một thực tế tôi đã thử nó bằng cách sử dụng trong phương pháp chính. Vui lòng tìm lớp java mẫu.? trong khi in biểu tượng trái tim

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()); 
} 

ouput là: - ? ?

Không chắc chắn tôi đang thiếu gì.

+0

Chỉ vì tò mò, tại sao rỗngHãy là hằng số duy nhất được đại diện bởi một char khi tất cả những người khác là Strings? Bạn đã thử đại diện cho nó như là một chuỗi? Bạn đã thử những gì và những hiệu ứng đó là gì? –

+0

Tôi đã gặp phải sự cố tương tự trong quá khứ. Tôi đã tạo một chương trình đã ghi vào tệp XML. Nếu chương trình đã được bắt đầu từ Eclipse IDE thì nội dung của tệp XML như mong đợi nhưng nếu nó được bắt đầu từ cửa sổ giao diện điều khiển thì nó có rất nhiều "?" biểu tượng. Làm thế nào để bạn viết XML của bạn? – ka3ak

+0

Đã thử nhiều cách khác nhau previoulsy đã thử với String sau đó cho thử nghiệm thay đổi để char – Kiran

Trả lời

7

Tôi nghĩ rằng nó phụ thuộc vào các cài đặt của bảng điều khiển nơi vùng đất đầu ra.

Tôi đã biên soạn và chạy mã của bạn trong Eclipse và đã thấy biểu tượng trái tim. Nhưng nếu tôi chạy chương trình từ giao diện điều khiển cửa sổ tiêu chuẩn thì tôi thấy "?" thay vì biểu tượng trái tim nữa.

Tuy nhiên, bạn cần phải thay đổi cài đặt chuẩn trong Eclipse.

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

1 suy nghĩ như vậy nhưng từ công việc của tôi pc nó không thể xác nhận điều này: D – Serhiy

+0

Vẫn không may mắn: ( – Kiran

0

System.out.println không hỗ trợ Tôi nghĩ các ký tự Unicode trong MAC.

Reference From MACWORLD

Hãy thử

PrintStream này ra = new PrintStream (System.out, đúng, "UTF-8");

out.println (t);

Bạn cũng sẽ cần phải ném UnsupportedEncodingException hoặc xử lý nó.

+0

Không may mắn, tôi đã thử như vậy, trong bàn làm việc nhật thực, vui lòng tìm đầu ra: -? ? â ™ Mã này là: - public static void main (String [] args) { \t \t \t \t Chuỗi t = "\ u2665"; \t \t Chuỗi myUnicodeSymbol = "\ u05D0"; \t \t Chuỗi rỗngHeart = "\ u2661"; \t \t Chuỗi rỗngDiamond = "\ u2662"; \t \t Chuỗi thuổng = "\ u2660"; \t \t Câu lạc bộ chuỗi = "\ u2663"; \t \t \t \t \t PrintStream out; \t \t thử { \t \t \t out = new PrintStream (System.out, true, "UTF-8"); \t \t \t out.println (spade); \t \t} catch (UnsupportedEncodingException e) { \t \t \t \t \t \t e.printStackTrace(); \t \t} – Kiran