LINUX.ORG.RU
ФорумAdmin

Вопросик по русификации


0

0

Привет. Админю недавно- обходился английским, но тут встала задача русифицировать. Порывшись в горе литературы, поустанавливав пакаджи (и console-tools и kbd пробовал) и загрузив кучу фонтов, -> результат один- пишет по-русски нормально во всех случаях, но вывод на экране- кракозяблики- во всех файлах и в stdout-е при выполении команд типа cal... Может есть какой ньюанс в Дебиане? В переменных окружения все оки- результат locale - LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_PAPER="ru_RU.KOI8-R" LC_NAME="ru_RU.KOI8-R" LC_ADDRESS="ru_RU.KOI8-R" LC_TELEPHONE="ru_RU.KOI8-R" LC_MEASUREMENT="ru_RU.KOI8-R" LC_IDENTIFICATION="ru_RU.KOI8-R" LC_ALL=

anonymous

А шрифт какой в консоли установили? Тут ведь обычно применяется (исторически) довольно прикольный способ - загружается консольный шрифт в кодировке IBM 866, и таблица koi2alt, чтобы приложения, работающие в КОИ-8, нормально могли выводить одновременно и кириллицу, и символы псевдографики. Так что, поглядите тут.

wildhoney
()

То, что приведено - относится к локализации. Это параметры, которые используют библиотеки. А загрузка шрифта - это относится не совсем сюда.

С поддержкой шрифтов ядром есть 2 варианта: при первом загружается шрифт, таблица соответствия между UCS2 и шрифтом (может содержаться в pcf шрифте) и таблица соответствия между UCS2 и 8-битной кодировкой терминала. При втором варианте загружается шрифт и таблица прямого соответствия между шрифтом и кодировкой терминала (там перекодировка тоже происходит через UCS2 (только PRIVATE AREA, но для пользователя это прозрачно). И setfont (из kbd), и consolechars (console-tools) являются всего лишь загрузчиками. Подробно это описано в man 4 console_codes, man 4 console_ioctl (перевод есть на www.linuxdoc.ru). Кроме того для выбора загруженного соответсвия UCS2-кодировка/шрифт-кодировка нужно вывести на каждый вирт. терминал последовательность "<Esc>(K". Я делаю это так:

for i in 1 2 3 4 5 6; do; echo -ne "\033(K" > /dev/tty${i};done

А с ключами там все похоже

-m <файл соответствия UCS2-кодировка/шрифт-кодировка>

-u <файл соответствия шрифт-UCS2>

и шрифт задать.

setfont шрифт -m ... -u ...

consolechars -f шрифт -m ... -u ...

У меня стоит kbd и console-data: ему в /etc/kbd/config прописано что-то типа CONSOLE_FONT=ruscii_8x16 CHARSET_MAP=koi8-r.sfm (могу ошибаться - пишу по памяти)

Dimai
()

Гм... Перечитал внимательно... А dpkg-reconfigure locales делалось?

Dimai
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.