2012-05-24 72 views
1

我已經創建了一個具有德語特殊字符的測試swt應用程序。當我從eclipse運行這個應用程序時,它工作正常,但如果我創建jar應用程序並從終端運行jar,它將顯示錯誤的特殊字符。例如我已經表明用於德語元音變音字符的mac java編碼

SIE信德西歇爾,DASS SIE,嗯死Aufnahmeつschließen?」消息上關閉應用程序,但是當我從終端運行應用它顯示字符,如圖圖像。

enter image description here

正如你可以看到的圖像有其​​無法正確顯示某些特殊字符。

我正在使用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編碼,但沒有效果。

+0

哪裏串從何而來?它是否直接在你的代碼中? –

+0

@JonSkeet:是的,我在程序中硬編碼了字符串。 –

+0

好的,在這種情況下,我的答案是*可能*正確。 –

回答

1

你還沒有告訴我們你是如何得到這個字符串的,但是如果它在源代碼中,它可能只是在你編譯時指定編碼的問題,

javac -encoding UTF-8 ... 

顯然定製這一切編碼你的源代碼是實際上英寸

+0

@Jhon Skeet:我在程序中硬編碼了字符串。 –

+0

@Jhon Skeet:問題解決了。太感謝了。 –

相關問題