顯示爲問號,我正在嘗試從使用Java文件數據庫中的一些UTF-8 unicoded中國字。當我這樣做時,這些字符將作爲問號返回。中國漢字在Mac終端
然而,當我從數據庫中顯示的字符(使用select * from ...
)字符被正常顯示。當我在由漢字組成的Java文件中打印字符串時,它們也會正常打印。
我在Eclipse這樣的問題:當我跑的程序,正在打印爲問號字符。但是,當我以UTF-8格式保存Java文件時,這個問題就解決了。
運行在終端「區域設置」目前返回此:
LANG="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_CTYPE="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_ALL=
我也試圖編譯使用此我的Java文件:
javac -encoding UTF-8 [java file]
但儘管如此,輸出爲問號。
這是很奇怪怎麼會只是有時顯示的字符。有沒有人對此有過解釋?或者甚至更好,如何解決這個問題,使字符正確顯示?
在此先感謝!
的文本從Java應用程序返回的是什麼編碼的? – deceze 2013-03-19 08:13:07
@deceze如何將我檢查從Java應用程序編碼?我曾嘗試編譯文件使用:javac -encoding UTF-8 [java文件]但無濟於事。 – 201403540 2013-03-19 11:18:19
不知道,我不是Java的傢伙。如果字符不能正確顯示,則意味着字符被解釋爲不同的編碼,而不是輸出,就這些了。例如,控制檯可能期望使用UTF-8,但實際上可能會接收UTF-16。 – deceze 2013-03-19 11:23:20