Как перекодировать 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)
4 комментариев
Leave a Comment