Настройка русской локали и кодовой страницы UTF-8 в консоли Gentoo
Понадобилось мне тут ощутить все прелести настоящего Unix-ящика через SSH на хостинге. На самом деле вещь достаточно интересная и, можно сказать, даже полезная, ибо Web-интерфейс RoundCube хоть и достаточно не плох, но не без изъянов. Но сегодня речь пойдёт не об этом. Подключившись через родную для Linux утилиту ssh понял, что совсем всё просто не будет, ибо стандартная кодовая страница в терминале Ubuntu — это UTF-8, а на сервере хостинга установлена кодировка cp1251, соотсветственно вся литиница просто не отображалась, а работать с письмами на родном русском, как ни странно приходится постоянно
.
Первым делом смотрю locale:
user@gentoo:-$ locale
LANG=
LC_CTYPE=ru_RU.cp1251
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=
Как видим, русская локаль и кодировка cp1251. Не гуд. Стучу в службу поддержки. Там посоветовали в ~/.bashrc добавить строчку:
export LANG=ru_RU.UTF-8
Добавил. Пробую, то же самое, русские символы всё равно выводятся в кодировке cp1251. Вывод locale зато изменился:
LANG=»ru_RU.UTF-8″
LC_CTYPE=»ru_RU.cp1251″
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=
Чтож, уже не плохо, но не то. Пошёл гуглить. На различных форумах и how-to проблема решается изменением файла /etc/env.d/02locale, но доступа за пределы домашней директории у меня естественно нет. Выход оказался достаточно простым и находился в официальной документации Gentoo. Вместо переменно LANG в файле ~/.bashrc просто необходимо было использовать переменную LC_ALL:
user@gentoo:-$ nano .bashrc
***в конец файла***
export LC_ALL=»ru_RU.UTF-8″
После этого всё стало нормально. И на этот раз вывод locale был таким:
LANG=
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=ru_RU.UTF-8
Да, после изменения файла ~/.bashrc для применения новый настроек необходимо перелогиниться по SSH.
Вообще, если честно не понятно чем был обусловен выбор кодовой страницы cp1251 (родная для Windows, другое название Windows-1251) на Linux-хостинге, но тем не менее. В общем проблема решена.
Комментариев пока нет.
Ваш отзыв
3D ADSL Evolution FAQ Firefox Flash GNOME GTalk HDD Intel ISO Jabber Linux mount NFS PLC Root RTorrent Torrent TuxGuitar Ubuntu uTorrent Vista Wi-Fi Windows Windows 7 WTorrent Автозапуск Антивирус Гитара Железо Зеркало Интернет Консоль Ноутбук Обзор Обновление Подстветка Портативный софт Почта Репозиторий Русификация Сервер Сеть Улыбнуло
Облако тегов требует для просмотра Flash Player 9 или выше.
Архивы
- Июль 2010 (1)
- Апрель 2010 (1)
- Март 2010 (1)
- Февраль 2010 (1)
- Январь 2010 (2)
- Декабрь 2009 (1)
- Октябрь 2009 (1)
- Август 2009 (4)
- Июль 2009 (5)
- Июнь 2009 (14)
- Май 2009 (24)
- Апрель 2009 (9)
- Март 2009 (5)
Поиск
Помощь сайту
- Товарищество реставраторов - дизайн проект коттеджа. . Удобный поиск людей бесплатно. Жители всей России и СНГ .