Java JTextField特殊字符

时间:2013-11-24 20:49:08

标签: java swing utf-8 jtextfield file-encodings

我的程序中所有JTextField的字符都有问题(编译成JAR时)。 当我从Eclipse运行它时一切正常......问题是从已编译的JAR运行时。

问题是,当我从带有稀有字符的输入中提取文本时,我将带有特殊字符的文本插入JTextField作为“Ñandú?”。 例如:System.out.println( myTextField.getText() );。这将写在控制台中:IMAGE

我已经尝试过各种方式来切换字符,但是当我再次在控制台上或在界面中再次出现时,会出现罕见的迹象。我甚至尝试过图书馆Commons Lang 3.1,但我没有成功:(

我希望有人知道该怎么做!唯一的工作方式是在运行jar文件时插入-Dfile.encoding=UTF-8,但事实并非如此。

对不起英语。感谢!!!

1 个答案:

答案 0 :(得分:0)

Java使用计算机的默认编码,对于Windows,它将是C16并且不支持unicode。在终端中使用以下命令运行程序:

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

如果您的文档中有任何unicode,Eclipse会运行您的应用程序,但除此之外,您可以自己运行。

我能想到的另一种可能的方法是使用此命令编写.bat脚本并将其放在与应用程序相同的文件夹中。