Как определить кодировку символов терминала Unix? - PullRequest
1 голос
/ 22 апреля 2010

Есть ли способ определения кодировки символов, установленной в терминале, который вызывает мою Java-программу? В Windows я могу вызвать инструмент "chcp" и проанализировать вывод.

А как насчет Linux или Mac?

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

Проверьте язык (1) справочную страницу

Вы можете изменить это, установив переменную среды LANG

$ export LANG=en_US.iso88591

$ locale
LANG=en_US.iso88591
LC_CTYPE="en_US.iso88591"
LC_NUMERIC="en_US.iso88591"
LC_TIME="en_US.iso88591"
LC_COLLATE="en_US.iso88591"
LC_MONETARY="en_US.iso88591"
LC_MESSAGES="en_US.iso88591"
LC_PAPER="en_US.iso88591"
LC_NAME="en_US.iso88591"
LC_ADDRESS="en_US.iso88591"
LC_TELEPHONE="en_US.iso88591"
LC_MEASUREMENT="en_US.iso88591"

LC_IDENTIFICATION = "en_US.iso88591"

1 голос
/ 23 апреля 2010

Не существует определенного пути связи от приложения терминала к процессам, работающим внутри окна терминала (кроме тех, которые определены эмулируемым терминалом, например, изменения размера окна). Это было бы верно и для любой другой Unix-подобной ОС. Переменные среды могут быть унаследованы только при запуске процесса. Просмотр значений этих переменных среды - это все, что вы можете сделать.

Вы действительно ожидаете, что люди будут менять кодировку, пока открыто окно терминала? Я не могу себе представить, что это общий случай использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...