Как перекодировать 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

Комментарии (4)  

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

#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'а - спасибо!

Leave a Comment

Fields with * are required.

Картинка с кодом валидации
Пожалуйста введите символы с картинки. Регистр букв неважен.