Как перекодировать 1251 в UTF-8? Пакетная смена кодировки файлов с windows-1251 на utf-8, массовая смена кодировки файлов

Нет картинки Возникает, например, при смене кодировки сайта. Необходимо все до единого файлы сохранить в новой кодировке, вручную это муторная и долгая работа

Способ 1. У меня не срабатывает.

Возникла задача перекодировать файлы сайта в формат UTF-8, а до этого данные файлы были созданы в кодировке WINDOWS-1251.

Вроде бы задача тривиальная - берем любой кодировщик и кодируем из widows-1251 в utf-8, но не тут то было, так можно делать если у нас десяток файлов.

А если файлов тысяча? Да и еще не скопом, а каждая группа в своей подкатегории


Сразу в голову приходит идея - берем пакетный перекодировщик файлов и кодируем одним мановением мыши.

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

И так, необходим конвертер для пакетной кодировки в UTF.

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

После тщательных поисков было найдено решение!

Есть замечательный бесплатный конвертер для пакетного конвертирования в UTF - UTFCast Express - http://nemcd.com/wp-content/uploads/2010/03/convert/utfcast.exe.

Он позволяет легко и быстро в автоматическом режиме перекодировать каталог и все файлы в подкаталогах. Но у него есть небольшая особенность! Так как версия Экспресс бесплатная - то она не имеет опции конвертировать в UTF-8 без BOM (BOM - Byte Order Mark, служит для идентификации кодировок UTF)

Недостаток результата конвертирования такой, что ваши PHP скрипты скорее всего не будут работать! А вот для решения этой проблемы необходимо применить вторую программку - http://nemcd.com/wp-content/uploads/2010/03/convert/utf8-bom-remover.exe - UTF-8 BOM Remover

Эта тоже замечательная программа - прекрасно справляется с удалением BOM в UTF файлах. А главное рекурсивно все содержимое каталога и подкаталогов!

Вот такой связкой можно решить такой важный вопрос.


Способ 2. У меня не срабатывает.

Для семейства Windows есть программка файловый менеджер Far Manager. Это консольный файловый менеджер. К нему есть плагины, один из которых нам и поможет с массовой перекодировкой файлов.

Это FarTrans - "плагин позволяет быстро перекодировать кириллицу в выбранных текстовых файлах, а также поменять формат конца строк на DOS (CR+LF) или UNIX (LF). В плагин встроены следующие русские кодовые таблицы: DOS Cp866, Windows Cp1251, KOI-8, Unix ISO 8859-5, Macintosh, Java Unicode (эквивалент native2ascii). Плагин также работает с таблицами, зарегистрированными в FARе. Встроена поддержка UTF-8 (русская страница). Реализована возможность автоматической замены/добавления Charset= в HTML-файлах"

Скачиваем его, устанавливаем:

1. Создайте папку FarTrans в C:\Program Files\Far\Plugins

2. Скопируйте скачанные файлы из архива в эту папку FarTrans

3. Перезапустите FAR Manager

4. Выделяйте файлы и выбирая в плагинах Transcod (он же FarTrans) указываете нужный вариант кодировки (у нас - UTF-8)



Источник: nemcd.com

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (8)     Подпишитесь на RSS комментариев к этой статье.

8 комментариев

#115
Алексей говорит:
September 23, 2011 at 10:30 pm
Новая версия UTFCast Express конвертирует сразу без BOM, http://www.rotatingscrew.com/downloads.aspx
#125
MiraMaX166 говорит:
October 12, 2011 at 08:23 pm
Спасибо за советы, в скором будущем предстоит пару десятков тысяч файлов прогнать из СР1251 в UTF-8
#126
Natty говорит:
October 16, 2011 at 01:09 am
Так он DOM не вставляет в начало
#365
ash говорит:
March 23, 2012 at 04:26 pm
 За плагин FAR'а - спасибо!
#604
Андрей говорит:
August 6, 2012 at 08:38 am

Спасибо!

Получилось сделать перекодировку файлов именно с помощью FAR.

Проверил, все вроде нормально

#710
инур говорит:
November 22, 2012 at 10:22 am

а не проще:

<Files ~ "\.(htm|html|css|js|php)$">
   AddDefaultCharset UTF-8
   DefaultLanguage ru-RU
</Files>

в htaccess прописать?


#1380
Antonio говорит:
June 11, 2015 at 12:03 am
Делал с помощью связки UTFCast  и  UTF-8 BOM Remover, все получилосьУлыбка
#1555
Vladimir говорит:
June 16, 2016 at 07:02 pm
Пакетный конвертер текстов [Win 1251-Unicode UTF-8] и не только
Бесплатная программа с открытыми исходниками, позволяет конвертировать в UTF-8 и обратно из всех распространенных кодировок, может добавлять и удалять BOM. Все те же возможности, что в UTFCast Pro и даже еще больше, только бесплатно, скачать можно отсюда
http://hexladen.comli.com/index.php?blog=paketnyj-konverter-teksto
или по прямой ссылке https://mega.nz/#!QQd3laYT!rLINVJ19TASoKWMSjr85R-eAiH2pYOK5UZsCmgTY29E