Окно вывода в Netbeans 7.2 не может правильно отображать тайские символы

Нужна ваша помощь. У меня есть досадная проблема: тайские символы не могут быть напечатаны красиво в окне вывода Netbeans 7.2:

Вывод после System.out.println(...); ??????????????????[TH_WORD]

Я изменил netbeans.conf, как уже упоминалось, это не помогает; Я изменил свойства проекта-> Кодировка источников на UTF-8, и источники выглядят хорошо, все тайские символы в источниках правильно печатаются. Но как изменить настройки окна вывода NB?

Windows 7 64-битная, Netbeans 7.2 (я запускаю NB как "C:\Program Files (x86)\NetBeans 7.2\bin\netbeans64.exe" --locale en_US)


person Yauhen    schedule 26.09.2012    source источник


Ответы (4)


Решено благодаря обсуждению Java: как обнаружить (и изменить ?) кодировка System.console?

Решение было найдено и применено:

PrintStream out = новый PrintStream(System.out, true, "UTF-8");

действительно используйте соответствующий импорт java.io.*.

person Yauhen    schedule 29.09.2012

Для азербайджанского языка я пробовал это:

  • добавил System.setOut(new PrintStream(System.out, true, "UTF8")); в мой код. После этой поправки он изменился? знаки в разные символы. Слово tədarük раньше отображалось как t?dar?k. Но теперь оно стояло тЙ™даркјк
  • затем я добавил -Dfile.encoding=utf-8 в аргументы «Выполнить» в свойствах проекта, никоим образом
  • затем проверил с -Duser.language=az, результат был тот же
  • изменил шрифт в консоли вывода (щелкните правой кнопкой мыши на консоли и в окне настроек измените шрифт Monospaced на Arial, ничего не изменилось

Это не помогло. Только после изменения конфигурации Netbeans это сработало. Я открыл netbeans.conf, в моем случае это была папка C:\Program Files\NetBeans 7.4\etc, в Linux это будет /usr/local/netbeans-7.4/etc/netbeans.conf

Я добавил -J-Dfile.encoding=UTF-8 в конец netbeans_default_options прямо перед кавычками. Перезапустил NetBeans. Теперь работает даже со шрифтом Monospaced и без установки параметра -Duser.language.

Так что мне нужно было только две вещи.

  1. добавить -J-Dfile.encoding=UTF-8 в netbeans_default_options в netbeans.conf
  2. измените кодировку выходной строки в вашем коде: System.setOut(new PrintStream(System.out, true, "UTF8"));
person Jeff_Alieffson    schedule 12.06.2016
comment
Вариантом второго изменения может быть установка -Dfile.encoding=utf-8 для Свойства › Выполнить › Параметры виртуальной машины в свойствах проекта. Тогда вам не нужно было бы устанавливать кодировку для PrintStream в UTF8 в коде, и вы могли бы просто вызвать System.out.println() обычным способом. - person skomisa; 05.01.2020

Решением будет изменение шрифта, используемого для окна вывода консоли, на тот, который включает тайские символы. В Eclipse это возможно в диалоговом окне Preferences. Прошло не менее 5 лет с тех пор, как я использовал NetBeans, но я на 99% уверен, что там тоже есть что-то подобное.

person Jim Garrison    schedule 26.09.2012
comment
Спасибо за ответ, но основная проблема не могу найти подходящие настройки. Я могу найти и сохранить его в предыдущих версиях NB, но не в этой 7.2. Пожалуйста, если вы его нашли, дайте знать моему странному вниманию. - person Yauhen; 27.09.2012

вы можете добавить системную переменную в mycomputer

JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
person Jewel    schedule 14.03.2016