Как заставить CentOS правильно отображать длину кириллических символов в консоли?

В CentOS 7 постоянно сталкиваюсь с проблемой после отображения кириллических символов. Неважно как они там оказались - в результате ввода или подсказки, длина введенного текста вычисляется неверно. Побайтово.

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

Единственное, где это нормально работает - в BitrixVM, сразу после установки. Но малейшее обновление все ломает. Откат коммитов обновления не решает проблему.
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Что смотреть:

locale - показывает текущие параметры локали
locale -a - показывает весь список доступных локалей
localectl - утилита от systemd

Если настроенная локаль отсутствует в общем списке, то locale и некоторые другие приложения (например, perl) будут ругаться на это.

Чтобы сгенерировать недостающую нужную локаль, можно использовать localedef:

localedef ru_RU.UTF-8 -f UTF-8 -i ru_RU

В некоторых системах (в частности, на базе Debian и Gentoo) вместо localedef можно использовать другую утилиту locale-gen. Также в Debian/Ubuntu можно добавить локали галочками в списке с помощью dpkg-reconfigure locales.

Уже запущенные приложения надо перезапустить, чтобы они увидили новую локаль, в частности, приложения, запускаемые при логине в систему, перезапустятся при следующем входе.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы