Налаштування локалі в консолі в centos, виділений сервер своїми руками

Частенько власники виділених серверів отримують свої сервера від провайдерів з невірно сконфигурированной локаллю. Як наслідок в консолі не відображаються російські літери. На тему русифікації вже написана гора усіляких заміток, але я в двох словах опишу методи установки правильної локалі в CentOS linux 4.x, 5.xТак як CentOS грубо кажучи є клоном RedHat Enterprize Linux, то консоль використовує кодування UTF-8 тобто юнікод. Ну так от у них повелося. Особисто моя думка - юнікод рулить. Поступово юнікод витісняє купу наших кодувань типу CP1251, KOI8-R. І це дуже добре. Тому як так дістали всі ці прибабахом з кодуваннями - спасу немає.
Отже.
Для того щоб побачити нормальні російські букви в нашій консолі насамперед нам необхідно налаштувати клієнта. Підключаємося ж ми віддалено, і напевно з допомогою нашої улюбленої проги putty.
Для настройки putty запускаємо її вибираємо необхідне з'єднання, завантажуємо його за допомогою кнопки Load. Далі переходимо в Window -> Translation і в випадаючому меню вибираємо UTF-8. Після чого зберігаємо налаштування для цього з'єднання за допомогою кнопки Save.
Як не дивно багато проблем з кодуваннями вирішуються саме цим пунктом :-)
Якщо нічого не вийшло - йдемо далі.
Перевірити яка локаль зараз встановлена ​​можна за допомогою команди
locale
зазвичай висновок команди виглядає приблизно так:
LANG = en_US.UTF-8
LC_CTYPE = "en_US.UTF-8"
LC_NUMERIC = "en_US.UTF-8"
LC_TIME = "en_US.UTF-8"
LC_COLLATE = "en_US.UTF-8"
LC_MONETARY = "en_US.UTF-8"
LC_MESSAGES = "en_US.UTF-8"
LC_PAPER = "en_US.UTF-8"
LC_NAME = "en_US.UTF-8"
LC_ADDRESS = "en_US.UTF-8"
LC_TELEPHONE = "en_US.UTF-8"
LC_MEASUREMENT = "en_US.UTF-8"
LC_IDENTIFICATION = "en_US.UTF-8"
LC_ALL =

Це означає що кодування у нас в консолі використовується en_US.UTF-8. Але висновок може виглядати зовсім інакше. Наприклад ось так:
LANG =
LC_CTYPE = "POSIX"
LC_NUMERIC = "POSIX"
LC_TIME = "POSIX"
LC_COLLATE = "POSIX"
LC_MONETARY = "POSIX"
LC_MESSAGES = "POSIX"
LC_PAPER = "POSIX"
LC_NAME = "POSIX"
LC_ADDRESS = "POSIX"
LC_TELEPHONE = "POSIX"
LC_MEASUREMENT = "POSIX"
LC_IDENTIFICATION = "POSIX"
LC_ALL =

Значить є проблеми.
Для того щоб перевірити наявність готових локалей в системі виконуємо команду
locale -a | grep ru

І у висновку команди шукаємо необхідну нам локаль. Для випадку з кодуванням UTF-8 необхідна локаль має вигляд ru_RU.utf8. Якщо такий рядок є у висновку команди то робимо наступне:
Створюємо файл / etc / sysconfig / i18n командою:
touch / etc / sysconfig / i18n
Після чого в файл пишемо такі рядки:
LANG = "ru_RU.UTF-8"
SUPPORTED = "ru_RU.UTF-8: ru_RU: ru"
SYSFONT = "latarcyrheb-sun16"

Зіткнувся з такою проблнмой:
варто гостенвая centos 6.2 на Citrix XenServer 5.6, при локалізації (кодування будь-яка) безпосередньо в консолі клієнта citrix отримую "кракозябри", хоча при підключенні по SSH все працює на ура. У гостьових на FreeBSD таких проблем не спостерігаю.
Підкажіть куди копати.

Проблема в VNC Viewer самого Xen. Така дурниця з відображенням російської мови в будь-яких Linux працюють в режимі паравіртуалізаціі.

Схожі статті