Вывод не-utf8 символов на консоль - PullRequest
2 голосов
/ 22 марта 2012

Я пишу очень простое консольное приложение на Java.

Проблема в том, что мне нужно выводить на консоль символы кириллицы и эстонского не-utf8, но в Windows я получаю кучу странных символов, а в MacOsX - только ???? вместо чего-то более читабельного.

Как мне достичь своей цели?

- ОБНОВЛЕНИЕ 1 -

язык дал мне:

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Кажется, я застрял с этим UTF-8%)

Странная идея:

Есть ли способ получить консоль от затмения и использовать ее вне затмения?

1 Ответ

1 голос
/ 22 марта 2012

Windows Terminal: Терминальная программа, cmd.exe, не использует ту же кодировку, что и остальная ОС, и из Java у вас нет возможности узнать, запускается ли вы из терминала или нет.Вы должны установить шрифт, используемый cmd.exe для Lucida Console и переключить «кодовую страницу» с chcp перед запуском программы:

  • Кириллица: используйте chcp 1251
  • по-эстонски: вероятно, вам нужно chcp 1257

OS X Terminal: насколько я знаю, терминал настроен дляUTF-8, так что вы можете просто использовать UTF-8.Используйте команду locale для проверки вашей кодировки.

...