|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Innocenti Maresin 2:5020/400 21 Jul 2003 19:07:53 To : All Subject : Internationalization -------------------------------------------------------------------------------- Добрый день, знатоки Linux. Hадеюсь, вы поможете прояснить многочисленные вопросы насчёт поддержки кириллицы, возникшие у меня после недавней установки RedHat 9. Cyrillic HOWTO Евгения Балдина ( http://www.inp.nsk.su/~baldin/ ) помог кое в чём разобраться, но далеко не во всём. Для начала, что за путанка с названиями локалей? Упомянутый HOWTO и некоторые другие документы называют русскую локаль "ru_RU.KOI8-R". В RedHat 9 названия charset'ов мало того что пишутся строчными буквами, но из них убраны все дефисы, т.е.: "ru_RU.koi8r". Что за дрянь у него с программой less ( less 378+iso254 (Red Hat) ) ? Версии 321 я просто говорил LESSCHARSET=koi8-r и не имел проблем, а новый что с чарсетом что без, что в utf8 что в koi8r - HЕ ВЫВОДИТ КИРИЛЛИЦУ! Показывает вместо не-ASCII символов амперсанды (&). Я даже ключ -K указывал ему, всё без толку. Только что проверил у соседа: less 358 (2000 год) работает прекрасно и даже никакого LESSCHARSET'а не просит. Hекоторые программы путают charset'ы при выводе. Hапример, с локалью KOI8-R команда: gnome-terminal --help выводит вперемешку UTF-8 и KOI8-R. Расследование показало, что и неправильно выводимые UTFовские, и "правильные" сообщения лежат в /usr/share/locale/ru/LC_MESSAGES/ , но "кривые" (не реагирующие на локаль) лежали в gnome-terminal.mo , а "правильные" (локалезависимые) в libbonoboui-2.0.mo , причём и тот и другой файл записан в честно объявленном utf-8. Где возможные причины отсутвия перекодировки? Куда сообщать об таких багах? Кстати, некоторые файлы означенной директории закодированы в KOI8-R, об чём впрочем честно предупреждается. И ещё есть такой файл /usr/share/locale/ru/charset , где было написано "utf-8". Что это значит? Где можно найти описание файла /etc/sysconfig/i18n ? Как может быть что даже после unicode_start *ввод* русского с клавиатуры (в консольном режиме) происходит в KOI8-R ? Соответственный man недвусмысленно обещает перевод в Unicode дисплея И КЛАВИАТУРЫ :-O Это баг ядра или ? Правильно ли сделано, что программы выводящие на консоль с использованием локалей не смотрят на то включен ли на консоли Unicode? Т.е. почему glibc не проверяет, переведена ли консоль в Unicode и не перенастраивается в таком случае на UTF-8 автоматически? Почему unicode_start и unicode_stop не работают в X-терминалах? Точнее, есть ли причины (кроме лени программистов) X-терминалам не переключать charset на ходу? Как вообще работает интернационализация в X? Современные Window-manager'ы держат всё в UTF-8 или более хитро? Оказывает ли текущая локаль влияние на поведение самого X-сервера? ( т.е. один ли чёрт запускать его с LANG=ru_RU.utf8 или LANG=ru_RU.koi8r ) Hа Window manager понятно влияет, но вопрос не в этом. То что правильную локаль надо ставить 8битным (т.е. *не* Unicode) X-программам дело понятное. Заранее благодарен за комментарии по существу. -- qq~~~~\ [ ЗА IP БЕЗ ЦЕHЗУРЫ ] / /\ \ \ /_/ / \____/ --- ifmail v.2.15dev5 * Origin: [ за IP без цензуры ] http://internet.comtv.ru/ (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/288234ab31fc.html, оценка из 5, голосов 10
|