Java JTextField специальные символы

У меня проблема с символами всех JTextField в моей программе (при компиляции в JAR). Когда я запускаю его из Eclipse, все работает нормально... проблема в том, что он запускается из уже скомпилированного JAR.

Проблема заключается в том, что когда я вставляю текст в JTextField со специальным символом "С andu?", Когда java извлекает текст из ввода, который идет с редкими символами. Например: System.out.println( myTextField.getText() );, Что бы написать в консоли: ИЗОБРАЖЕНИЕ

Я перепробовал все виды переключения символов, но когда я снова пишу на консоли или в интерфейсе, появляются редкие признаки. Я даже попробовал библиотеку Commons Lang 3.1, но я не был успешным:(

Я надеюсь, что кто-то знает, что делать! Единственный способ работы - вставка -Dfile.encoding=UTF-8 при запуске файла JAR, но это не может быть так.

Простите за английский. Спасибо!!!

1 ответ

Java использует кодировку по умолчанию для вашего компьютера, которая для Windows будет C16 и не поддерживает Unicode. Запустите вашу программу с помощью следующей команды в терминале:

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

Eclipse будет запускать ваши приложения примерно так, если у вас есть какой-нибудь юникод в вашем документе, но вне его вы сами по себе.

Единственный другой возможный способ, которым я могу придумать, - это написать скрипт.bat с этой командой и поместить его в ту же папку, что и приложение.

Другие вопросы по тегам