При развертывании нового сервера часто бывает, что кодировка по-умолчанию отличается от UTF-8. Иногда бывает, что нужно сменить локаль на английскую, например буквы в терминале заменяются знаками вопроса. Данная проблема решается довольно просто.

Узнать какая кодировка установлена в CentOS 7 в данный момент

Проверяем на что настроена текущая консоль:

# localectl status

Если вы получили примерно такой ответ, то ваша система НЕ использует кодировку UTF-8

 System Locale: n/a

       VC Keymap: n/a
      X11 Layout: n/a

Получить список доступных кодировок CentOS 7

Чтобы получить список доступных кодировок для консоли выполните следующую команду:

# localectl list-locales

Как установить нужную кодировку UTF-8 в CentOS 7

Чтобы применить кодировку UTF-8 в консоли CentOS 7 и выбрать английский язык в качестве системного используйте следующую команду:

# localectl set-locale LANG=en_US.UTF-8

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

localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us,ru
     X11 Variant: ,
     X11 Options: grp:alt_shift_toggle

Устанавливать русский язык в CentOS 7

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

# localectl set-locale LANG=ru_RU.UTF-8

Альтернативный способ изменения кодировки в CentOS 7

Параметры настройки консоли в CentOS 7 хранятся в файле /etc/locale.conf. При необходимости вам нужно изменить параметр LANG=en_US.UTF-8 на желаемый.

Комментарии