| Your Explorer by Linux links... |
|
Совет №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=<кодировка>