LINUX.ORG.RU

Сообщения lukyanov

 

Автоматическое распознавание кодировок (анонс)

Форум — Development

Я вот наконец обновил свою старую программку для распознавания русских кодировок. Старая версия (1997 года, называлась auto2unix) давала на выходе koi8-r, а теперь стало разумнее всё конвертировать в utf-8. Соответственно пришлось добавить распознавание utf-8. Программа теперь называется auto2utf.

Распознаются koi8-r, cp866, cp855, cp1251, iso-5, MacCyrillic, utf-8, utf-16, ucs-4. Вордовые файлы (MSWord) тоже приводятся к читабельному виду.

Использовать программу очень просто:

auto2utf входной_файл >выходной_файл
или
auto2utf <входной_файл >выходной_файл



Исходный код лежит здесь:
ftp://univ.uniyar.ac.ru/home/land/auto2utf.cc.gz

(вся программа состоит из одного файла)

lukyanov
()

Глюк с локалями

Форум — Desktop

После перевода Линукса на UTF-8 оказалось, что mozilla и acroread (Adobe Acrobat Reader) не желают запускаться. Вскоре выяснилось, что всё это связано с переменной LANG.

Если LANG=ru_RU.UTF-8, то mozilla и acroread не работают вообще. Если же LANG=ru_RU.KOI8-R, то всё работает замечательно.

Выход из ситуации очень простой. У тех кнопочек, которые запускают мозиллу и acroread, нужно поменять исполняемую команду. Т.е. поставить там

env LANG=ru_RU.KOI8-R mozilla
env LANG=en_US.ISO8859-1 acroread

и всё!

lukyanov
()

Попытка подправить VIM

Форум — Development

У меня в Линуксе теперь используется кодировка utf-8, и тексты обычно редактируются с помощью vim 6.2. Но при этом осталось также множество текстов в koi8-r. Конечно, с ними можно работать через luit.

Но я заметил, что vim автоматически открывает неуникодовские файлы как Latin-1 -- то есть на экране получаются сплошные крякозябры. В то же время известно, что vim внутри себя всегда использует utf-8, если установлена такая локаль, а все преобразования происходят только при чтении и записи файла. То есть, чтобы заставить vim понимать koi8 в условиях уникодовской локали, нужно лишь добавить перекодировку при чтении и записи тех файлов, которые vim трактует как Latin-1.

Подправлять пришлось совсем немного. Зато теперь юзеру вообще не нужно знать, какой текст он редактирует -- koi8 или utf, всё происходит автоматически.


Инструкции по установке: сначала нужно скачать исходники vim62 с сайта http:/www.vim.org

Затем нужно скачать мои исправления ftp://univ.uniyar.ac.ru/home/land/vim.tar.gz

Файлы userchset.h и fileio.c нужно поместить в каталог src (при этом старый fileio.c будет переписан). Файл fileio.old не нужен, он приведён только для сравнения.

После этого скомпилировать vim как обычно (для utf-8 нужно предварительно запускать ./configure --with-features=big)

lukyanov
()

RSS подписка на новые темы