2014-04-01 21 views
9

我想作爲一個最終的結果是這樣的如何插入≠登錄串

System.out.println("This is the not equal to sign\n≠"); 

出現(在運行時)作爲

This is the not equal to sign 
≠ 

不出現

This is the not equal to sign 
? 

有沒有辦法做到這一點?我嘗試使用Windows字符映射,在這裏複製了符號,並在我的代碼中,但是在將編碼更改爲UTF-8並插入後,它出現了?當運行...
可以做些什麼?在此先感謝回答這個簡單得不能再簡單的問題

+5

看起來像你的控制檯編碼問題,而不是Java程序。 http://ideone.com/OJhKeG - 工作正常 – Crozin

+3

這可能是你的控制檯。但要確保它不是錯誤的文件編碼,可以在字符串中使用Unicode轉義'\ u2260'而不是'≠'字符。 –

+0

我同意Crozin。你可以通過寫入一個文件而不是stdout來測試它,然後在一個你知道可以處理unicode的編輯器中打開這個文件。如果這有效,這意味着Java正確處理字節,並且問題必須是您的控制檯。 – yshavit

回答

6

如果您的文本編輯器已使用UTF-8或支持此字符,請將字符編碼設置爲UTF-8,傳遞此vm參數

-Dfile.encoding=UTF-8 
4

由於@Tobias Brandt說,你可以使用:\u2260

而且順便說一句也@Crozin是對你的控制檯配置

喜歡這個

System.out.println("This is the not equal to sign \n\u2260"); 
0

保存java文件時,請確保它保存在與打開的字符集相同的字符集中。

在我的Eclipse中,當我用特殊字符(如\ u2260)保存文件時,它問我要使用哪種字符集。

在終端中打開您的文件並檢查文件的內容。

確保它與您正在使用的編輯器中的字符相同。

3

有五個潛在的問題在這裏:

1),其中來自編輯器字符集編碼是在保存()你的Java源?

2)哪個編碼java編譯器的字符集假設?

3)哪個字符集是你的控制檯?

4)您是否在使用某個翻譯終端?

5)您的控制檯字體是否包含該特定字符?

對於正確的問題1-2,你應該使用UTF-8(編輯器和javac設置),或者更健壯的,用逃脫的純ASCII文本(Frakcool答案)來指定Unicode字符。

對於問題3,請嘗試-Dfile.encoding=UTF-8或查看此answer。問題4-5不在Java程序範圍內。如果您不確定,只需將輸出重定向到一個文件,然後用十六進制編輯器查看它。

0

看來,Eclipse後問我是否想更改爲UTF-8,它工作,只有在我發佈後。 對不起,浪費你的時間