Найти в Дзене
Игорь Сотников

Локализация и кодировка

В данной статье мы рассмотрим переменные, которые отвечают за локализацию и кодировку операционной системы. Данная тема достаточно важна, т.к некоторые прикладные сервисы требуют не стандартной кодировки или региональной локализации. В Linux системах есть основная переменная $LANG – которая задает основной язык системы. Есть и другие переменные, но они берут изначально настройки с этой основной переменной $LANG. Можно настроить отдельные какие-то переменные, но можно все же давать значение основной переменной $LANG и она будет давать значение всем остальным. Есть так же переменная LC_ALL – которая позволяет нам разом перезаписать все языковые настройки. Есть так же утилита locale которая показывает кучу переменных, которые относятся к языковым настройкам. LANG=C – данную переменную обычно используют для написания скриптов, чтобы те или иные настройки установить по умолчанию для выполнения скрипта. В большинстве случаев данная настройка включает Английский язык по умолчанию. Есть такая

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

В Linux системах есть основная переменная $LANG – которая задает основной язык системы. Есть и другие переменные, но они берут изначально настройки с этой основной переменной $LANG. Можно настроить отдельные какие-то переменные, но можно все же давать значение основной переменной $LANG и она будет давать значение всем остальным.

Есть так же переменная LC_ALL – которая позволяет нам разом перезаписать все языковые настройки. Есть так же утилита locale которая показывает кучу переменных, которые относятся к языковым настройкам.

LANG=C – данную переменную обычно используют для написания скриптов, чтобы те или иные настройки установить по умолчанию для выполнения скрипта. В большинстве случаев данная настройка включает Английский язык по умолчанию.

Есть такая команда ENV, которая выводит заданные переменные в системе.

-2

И тут в частности, есть переменная которая отвечает за языковые настройки. В нашем случае LANG=en_US.UTF-8, т.к скриншот делался на операционной системе с английской локализацией по умолчанию. Мы видим en_US в кодировке UTF-8. En_US – говорит о том, что у нас используется американский английский язык.

Можем посмотреть все переменные относящиеся к данной локализации с помощью утилиты locale.

Почему это важно. Во-первых, это важно для логирования. С такими настройками система будет писать файлы системных и других логов в американском формате yyyy-mm-dd, в русском формате же правильно будет dd-mm-yyyyy. И при передаче логов из одной системы в другую возникнут ошибки. Другой пример, 1С, да бывает не стандартное решение, допустим хранение базы данных в postgree. Для того чтобы сервер приложений корректно работал с базой опять же необходима русская локализация. И таких примеров взаимодействия можно привести достаточно много.

Теперь, если у нас появилась необходимость поменять какую-нибудь, переменную, например LC_TIME то делаем следующее:

LC_TIME=ru_RU.UTF-8 – задаем переменную.

export LC_TIME – загружаем переменную.

Мы можем сразу все настройки изменить.

LC_ALL=ru_RU.UTF-8

export LC_ALL

Если мы ошибемся с вводом локали (языковой пакет настроек) или в системе не загружена такая локаль, то система нам выдаст ошибку:

-3

Надо выполнить инсталляцию языкового пакета

sudo apt-get install language-pack-ru

генерация фала с обновленной информацией о добавленных пакетах в систему.

sudo locale-gen

И после этого опять попробовать сменить.

-4

Для возврата в исходное состояние настроек мы можем выполнить команду unset LC_ALL. После выполнения данной команды все настройки языковые системы вернутся в исходное состояние.

Немного о кодировке. Кодировка-это представление символов в определенном виде. Самые распространеные кодировки используемые в Linux.

ASCII – 128 основных символов;

ISO-8859 – большинство латинских символов;

UTF-8 -символы Unicode.

Для конвертации используется утилита iconv, но есть более практический инструмент. Если нам необходимо конвертировать какой-то файл в другой, то проще всего использовать Notepad ++ .

-5

В случае если у нас только консольное подключение общий вид команды iconv [опция] [-f кодировка 1] [-t кодировка 2] [исходный файл] [целевой файл].

-6

Установка и настройка часовых зон.

Утилита tzselect -позволяет осуществить поиск нужной временной зоны. Появляется мастер пошаговый, который позволяет сделать свой выбор и в конце дает инструкцию, как сделать, чтобы выбор сохранился.

-7

Вторая утилита это date, которая выводит текущую дату и время, а также позволяет установить их.

Для установки даты и времени необходимы права суперпользователя.

sudo date [ddmmhhminyyyy] – обратите на формат вводимых данных, день.месяц,час,минуты,год.

-8

Если у кого есть желание сказать спасибо за канал или статьи :

QIWI: KNEYE561

Юmoney ( ЯД ) 41001606289345

#ubuntu #open source #centos #системное администрирование