Изменение кодировки файлов

   Очень часто в повседневной работе приходится заниматься изменением кодировки файлов. В FreeBSD, в портах есть ряд программ, которые могут нам в этом помочь. Я недавно поставил счетчик на свой сайт. Так вот дистрибутив счетчика был весь в кодировке cp1251. Так что пришлось перекодировать все файлы в UTF8. Так что будем  ставить и пробовать пользоваться.

   Первая программа - это convmv. Идём сюда

# /usr/ports/converters/convmv

Устанавливаем. После установки переходим в каталог, в котором нам нужно переконвертировать файлы и набираем:

# convmv -t koi8-r -f utf-8 *

Особенность этой программы в том, что без дополнительной опции --notest она не будет конвертировать файл, а только название. Сделано это специально, чтобы вы случайно не наворотили ошибок при перекодировке. Ну или вам надо только перекодировать название, значит на этом останавливаемся. Но если вам надо ещё перекодировать весь файл, то если название перекодировалось правильно, значит можно смело вставлять опцию --notest и все файлы перекодируются. Если надо рекурсивно перекодировать каталоги, то добавляем ключик -r. Есть ещё много ключей у проги и их можно посмотреть командой

# convmv --help

 

   Вторая программа - recode

Берем отсюда

# /usr/ports/converters/recode

а это пример перекодировки

# recode windows1251..utf8 <имя файла>

У этой проги нет никаких предупреждений как у предыдущей и она сразу выполняет перекодировку всего файла, так что будьте внимательны. И еще один недостаток - она не может сразу перекодировать несколько файлов.

 

   Третья программа - iconv

Берем отсюда

# /usr/ports/converters/iconv

пример перекодировки

# iconv -c -f windows-1251  -t UTF-8 имя_исходного_файла > имя_нового_файла

Преимущество данного перекодировкщика - он не сломает файл из-за вашей ошибки, потому что создаст новый.

   Мы с вами рассмотрели несколько программ, которые могут изменить кодировку файлов. Почему несколько, потому все они работают по разному и в каком то конкретном случае одна программа может не помочь. Так что не помешает знать другие, чтобы не возникало никаких проблем с перекодировкой.

Категории:

Рейтинг: 
Средняя: 2.5 (2 оценок)

Добавить комментарий

Filtered HTML

Plain text