我已經創建了一個具有德語特殊字符的測試swt應用程序。當我從eclipse運行這個應用程序時,它工作正常,但如果我創建jar應用程序並從終端運行jar,它將顯示錯誤的特殊字符。例如我已經表明用於德語元音變音字符的mac java編碼
「SIE信德西歇爾,DASS SIE,嗯死Aufnahmeつschließen?」消息上關閉應用程序,但是當我從終端運行應用它顯示字符,如圖圖像。
正如你可以看到的圖像有其無法正確顯示某些特殊字符。
我正在使用Mac Lion。 JDK細節
Java版本 「1.6.0_31」 的Java(TM)SE運行時環境(建立1.6.0_31-b04-415-11M3646) 的HotSpot的Java(TM)64位服務器VM(建20.6-B01 -415,混合模式)
我使用下面的命令
的java -cp運行從終端應用程序:./最後/ * mypackege.MainClass -d32 -Dfile.encoding = UTF-8
我嘗試從命令行指定UTF編碼,但沒有效果。
哪裏串從何而來?它是否直接在你的代碼中? –
@JonSkeet:是的,我在程序中硬編碼了字符串。 –
好的,在這種情況下,我的答案是*可能*正確。 –