Меняем кодировки
Меняем кодировки Основная русская кодировка в Linux — это koi8-r. Но иногда требуется работать с текстами в кодировке Windows (cp1251) и другими кодировками русского языка. Для просмотра текстов в кодировках, отличных от koi8-r, существует два способа:
1. Самый простой путь — это открыть этот текст в браузере и выбрать нужную кодировку. Это универсальный способ.
2. Использовать специальные программы для перекодировки русских текстов:
a) iconv — стандартная программа, есть в любом дистрибутиве. Список доступных кодировок можно увидеть по команде iconv --list. Названия кодировок должны соответствовать их именам в /usr/share/i18n/charmaps. Пример использования: iconv -f CP1251 — t KOI8-R file.txt > file.new.txt. Эта команда перекодирует foo.txt из cp1251 в koi8-r.
b) recode — еще одна стандартная программа для перекодировок текстов под Linux.
c) Russian Anywhere for UNIX — единственная программа для Linux, которая может автоматически определять кодировку текста.
d) ManChr 2 — простейший скрипт для перекодировки русских текстов. Занимает всего 3 Kb в исходниках. 5 кодировок, просто и надежно.
e) Tcod — еще один простейший скрипт.
В большинстве программ под Linux можно использовать скрипты, так что процесс перекодировки можно элементарно заложить в скрипт и максимально упростить.
Пример: Midnight Commander + cp1251.
Вставим в меню Миднайта (вызывается по F2) команды, которые посылают перекодированный текст, например на текстовый редактор less.
Это делается в файле /usr/ lib/mc/mc.menu. Синтаксис довольно прост: w Read in CP1251 iconv -f CP1251 -t KOI8-R %f | less -M.
Теперь, для того чтобы прочитать файл в кодировке СР1251, выбираем его на панели, нажимаем F2 и горячую клавишу "w".
Рассмотрим редактирование текстов в кодировке cp1251. Для этого достаточно выбрать шрифт с кодировкой cp1251. Если есть поддержка TrueType, то просто после того, как шрифты будут положены на место и будет сделана команда ttmkfdir, нужно в файлах fonts.dir и fonts.scale подредактировать некоторые строчки: удаляем из этих файлов все кодировки, кроме "koi8-r" и "koi8-ru", и для каждого шрифта добавляем запись с кодировкой "microsoft-cp1251". Потом считаем, сколько всего получилось строк и в начале файла (там стоит цифра, которая указывает на количество записей шрифтов) указываем то, что получилось. Теперь в X-Window есть возможность использовать шрифты в этих кодировках. Например, в nedit можно на лету поменять кодировку или запустить, к примеру, xedit, указав ему нужный шрифт.
X-Stranger
1. Самый простой путь — это открыть этот текст в браузере и выбрать нужную кодировку. Это универсальный способ.
2. Использовать специальные программы для перекодировки русских текстов:
a) iconv — стандартная программа, есть в любом дистрибутиве. Список доступных кодировок можно увидеть по команде iconv --list. Названия кодировок должны соответствовать их именам в /usr/share/i18n/charmaps. Пример использования: iconv -f CP1251 — t KOI8-R file.txt > file.new.txt. Эта команда перекодирует foo.txt из cp1251 в koi8-r.
b) recode — еще одна стандартная программа для перекодировок текстов под Linux.
c) Russian Anywhere for UNIX — единственная программа для Linux, которая может автоматически определять кодировку текста.
d) ManChr 2 — простейший скрипт для перекодировки русских текстов. Занимает всего 3 Kb в исходниках. 5 кодировок, просто и надежно.
e) Tcod — еще один простейший скрипт.
В большинстве программ под Linux можно использовать скрипты, так что процесс перекодировки можно элементарно заложить в скрипт и максимально упростить.
Пример: Midnight Commander + cp1251.
Вставим в меню Миднайта (вызывается по F2) команды, которые посылают перекодированный текст, например на текстовый редактор less.
Это делается в файле /usr/ lib/mc/mc.menu. Синтаксис довольно прост: w Read in CP1251 iconv -f CP1251 -t KOI8-R %f | less -M.
Теперь, для того чтобы прочитать файл в кодировке СР1251, выбираем его на панели, нажимаем F2 и горячую клавишу "w".
Рассмотрим редактирование текстов в кодировке cp1251. Для этого достаточно выбрать шрифт с кодировкой cp1251. Если есть поддержка TrueType, то просто после того, как шрифты будут положены на место и будет сделана команда ttmkfdir, нужно в файлах fonts.dir и fonts.scale подредактировать некоторые строчки: удаляем из этих файлов все кодировки, кроме "koi8-r" и "koi8-ru", и для каждого шрифта добавляем запись с кодировкой "microsoft-cp1251". Потом считаем, сколько всего получилось строк и в начале файла (там стоит цифра, которая указывает на количество записей шрифтов) указываем то, что получилось. Теперь в X-Window есть возможность использовать шрифты в этих кодировках. Например, в nedit можно на лету поменять кодировку или запустить, к примеру, xedit, указав ему нужный шрифт.
X-Stranger
Компьютерная газета. Статья была опубликована в номере 26 за 2002 год в рубрике soft :: linux