2013-11-24 104 views
0

我的程序(編譯爲JAR時)上的所有JTextField的字符都有問題。 當我從Eclipse運行它時,一切正常......問題是從已編譯的JAR運行時。Java JTextField特殊字符

問題是,當我在輸入文字時使用特殊字符作爲「Ñandú?」插入文本到JTextField中時,會從罕見字符的輸入中提取文本。 例如:System.out.println(myTextField.getText());。這將寫在控制檯上:IMAGE

我已經嘗試過各種方式來切換字符,但是當我再次寫在控制檯上或在界面上重新出現罕見的跡象。我甚至試過庫Commons Lang 3.1,但我一直沒成功:(

我希望有人知道做!工作的唯一方法是運行jar文件中插入-Dfile.encoding=UTF-8什麼,但不能如此。 。

對不起,我英文謝謝!

回答

0

Java使用的默認編碼爲您的計算機,這對於Windows是C16,並且不支持Unicode與終端下面的命令運行程序:

java -jar -Dfile.encoding=utf-8 <path to your .jar> 

如果你的文檔中有任何unicode,Eclipse會運行你的應用程序,但在它之外,你自己。

我能想到的唯一其他可能的方式是使用此命令編寫.bat腳本,並將其與應用程序放在同一文件夾中。

+0

當然,正如我所說的,這種方式很好用,但是這個想法是不需要插入那個命令。謝謝! – Gabriel

+0

啊,對不起,在你的問題中錯過了。編輯 – Alex

+0

沒問題,感謝這個想法,我會認爲也許最後一次保持如此.bat或Launch4J。 – Gabriel