Linux - the Best!

Your Explorer by Linux links...

Денис Колисниченко

Linux Советы

http://www.dkws.org.ua/

Совет №22. Win-1251 Koi8-r

Скорее всего, на вашей домашней машине Linux - это не единственная операционная система. Как минимум, у вас установлена еще и Windows. Какая именно - не важно. Ведь все они используют кодировку Win-1251. А что делать, если нам нужно отредактировать текстовый файл, созданный в Windows? С документами MS Office все ясно - их полностью (ну или почти полностью поддерживает пакет OpenOffice). Сейчас мы поговорим о просмотре и редактировании "инопланетных" файлов. Начнем с просмотра. Предположим, что у нас есть файл в кодировке Windows-1251. Хотя кодировка не так уж и важна - cp1251 это или cp866. Главное, что мы не можем просмотреть его как обычно. Его нужно перекодировать. Для этого используется команда iconv:

iconv -f <исходная кодировка> -t <результирующая кодировка> <исходный файл>

Вот примеры использования этой команды (наш файл называется report.txt):

iconv -f cp1251 -t koi8-r report.txt | less

iconv -f cp1251 -t koi8-r report.txt > report-koi8.txt

В первом случае мы перекодируем файл и выводим его на консоль, точнее передаем программе less, которая уже и выводит его на консоль. Можно и без less, но если файл большой, то без less вряд ли мы успеем его прочитать. Во втором случае мы перекодируем файл и результат перекодирования записываем в файл report-koi8.txt который можно будет использовать как обычно.

Кроме кодировки cp1251 вы также можете использовать кодировки koi8-r, cp866 и utf8.

Теперь поговорим о редактировании. Вообще-то лучше всего перекодировать файл в KOI8-R и редактировать его как обычно, но можно сразу редактировать файл в редакторах, которые поддерживают несколько кодировок. К таким редакторам относятся kwrite, kate, mc и vim. С первыми двумя все очень просто - из меню выбираешь нужную кодировку и все. В mc нужно выбрать пункт меню Настройки, Биты символов, и в появившемся окне выбрать системную кодировку. В режиме просмотра/редактирования файла для выбора кодировки файла нажмите Ctrl + T. Выбранная кодировка будет сохранена и будет использоваться во всех последующих сеансах редактирования - до тех пор, пока вы не выберите другую. В vim для перекодирования файла введите команду:

:e ++enc=cp1251

Вместо cp1251 можно указать другую кодировку, например, cp866, utf8. Для сохранения файла в нужной кодировке введите команду:

:w ++enc=<кодировка>