#linux #кодировка #utf_8
Linux. utf8. [root@pandora ~]# luit -list | grep 866 не дает нам ничего, а надо чтобы была 866 кодировка. Как научить luit понимать её? p.s. xorg-x11-apps последний стоит. CentOS 5.6 UPD Ну я, в общем, все сделал. Сейчас поясню. Для того, чтобы с linux ходить в консоль винды, надо иметь поддержку cp866 в консоли. Итак, нам надо пропатчить luit (это тулза, которая фоном поток конвертит из чужеродной локали в текущую), чтобы она понимала cp866. У меня CentOS 5.x, делал для него. Что я сделал. Убедился, что такой локали у меня нет locale -a | grep 866 Проверил, что charmaps для 866 присутствует ll /usr/share/i18n/charmaps/IBM866.gz Создал локаль IBM866. localedef -i ru_RU -f IBM866 ru_RU.IBM866. подготовка завершена, теперь надо патчить luit Скачал исходники xorg-x11-apps.src.rpm, развернул и нашел в исходниках архив luitа, развернул его и нашел там файл charset.c. В нем, в описании массива: FontencCharsetRec fontencCharsets[] = { Добавил строку: {"IBM866", T_128, 0, "ibm-cp866", 0x80, 0, 0} Затем в описании LocaleCharsetRec localeCharsets[] = { Добавил { "ibm866", 0, 2, "ASCII", NULL, "IBM866", NULL, NULL} Сохранил, затарил само дерево luit, перекомпилировал в новый rpm, установил и получил пофиксенный и рабочий комплект. Вот как это теперь выглядит: win2lin http://dl.dropbox.com/u/66475831/Sites/inet/luit.gif
Ответы
Ответ 1
описанная в вопросе проблема очень устарела. уже 2011/10/30 в luit была внесена правка: 2011/10/30 add entries to the locale-charset table to correspond with the font-encoding table, making it possible to use locales defined with each named charset (reported by Andrey Ivanov, also reported in Freedesktop #41857) так что, если в вашем дистрибутиве более старая версия, то можно скачать и собрать актуальную версию.
Комментариев нет:
Отправить комментарий