Подтвердить что ты не робот

Как получить терминальное кодирование символов

Теперь я меняю кодировку символов gnome-terminal на "GBK" (по умолчанию это UTF-8), но как я могу получить значение (кодирование символов) в моем Linux?

4b9b3361

Ответ 1

Терминал использует переменные среды, чтобы определить, какой набор символов использовать, поэтому вы можете определить его, посмотрев на эти переменные:

echo $LC_CTYPE

или же

echo $LANG

Ответ 2

locale команда без аргументов будет печатать значения всех соответствующих переменных среды, кроме LANGUAGE.

Для текущей кодировки:

locale charmap

Для доступных мест:

locale -a

Для доступных кодировок:

locale -m

Ответ 3

Проверьте кодировку и язык:

$ echo $LC_CTYPE
ISO-8859-1
$ echo $LANG
pt_BR

Получить все языки:

$ locale -a

Изменить на pt_PT.utf8:

$ export LC_ALL=pt_PT.utf8 
$ export LANG="$LC_ALL"

Ответ 4

Если у вас есть Python:

python -c "import sys; print(sys.stdout.encoding)"

Ответ 5

Насколько мне известно, нет.

Обстоятельные показания от $LC_CTYPE, locale, и такие могут показаться заманчивыми, но они полностью отделены от кодирования терминального приложения (на самом деле эмулятора), которое используется при отображении символов на экране.

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

Нет, это невозможно, к сожалению.