Русская локаль в консоли CentOS

centos 6 set locale utf-8
Приобрел недавно облачный виртуальный сервер в компании zomro и столкнулся с тем, что кодировка, предлагаемой к установке из образа, CentOS не соответствует кодировке принятой для этой операционной системы по-умолчанию UTF-8. Восстановим несправедливость.

Для начала проверим какая кодировка локали стоит в системе.

Проверить какая локаль сейчас установлена можно с помощью команды

locale

[su_spoiler title=»Вывод команды locale»]

LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

[/su_spoiler]

Это означает что кодировка у нас в консоли используется en_US.UTF-8. Если вывод будет выглядеть иначе, то нужно сменить локаль.
Для того чтобы проверить наличие готовых локалей в системе выполняем команду

locale -a | grep ru

[su_spoiler title=»Вывод команды locale -a | grep ru

«]

ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8

[/su_spoiler]

Для случая с кодировкой UTF-8 необходимая локаль имеет вид ru_RU.utf8. Если такая строка есть в выводе команды то делаем следующее:
Создаем файл /etc/sysconfig/i18n:

nano /etc/sysconfig/i18n

После чего в файл пишем следующие строки:

LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"

После этих изменений сохраняем файл, выходим из консоли и заходим в нее опять. После этих действий мы наблюдаем корректно отображаемый русский шрифт в локали.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *