Когда то давно сделал для себя небольшую программку по массовой перекодировке файлов из UTF-8 в любую кодировку и наоборот из любой кодировки в UTF-8. Перекодируются все файлы с нужными расширениями в папке с декодером и во всех подпапках.
Это был мой первый опыт в ООП. Программа написана на php.
Что сделать чтобы заработало?
1. Перейдите по ссылке:
https://github.com/alorian/Decoder
2. Сохраните файл к себе на компьютер.
3. Укажите параметры скрипта.
В самом скрипте в самом начале есть короткий readme. Советую с ним ознакомиться. Но на всякий случай здесь я еще раз поясню все параметры скрипта.
В скачанном файле есть строка в самом начале:
$FROM = 'windows-1251';
$TO = 'utf-8';
$EXTENSIONS = array(
'php',
);
$decoder = new CDecoder($FROM, $TO, $EXTENSIONS);
В этой строке задаются все параметры скрипта.
Первый параметр — ИЗ какой кодировки конвертировать.
Второй параметр — В какую кодировку конертировать.
Третий парамметр — расширение файлов, с которыми скрипт будет работать.
4. Закачайте файл на сервер с поддержкой php в нужную папку.
Нужно закачать скрипт в папку с файлами которые вы хотите перекодировать. Все файлы в папке и поддиректориях будут перекодированы в соответствии с параметрами которые вы указали на третьем шаге.
5. Запустите скрипт.
Для запуска просто откройте его в браузере. Например если адрес сайта verstaem.com и вы закачали скрипт в папку files, то откройте в браузере адрес http://verstaem.com/files/decoder.php
Приведу пример.
У меня есть папка «texts» на сервере в которой лежит куча текстовых файлов с расширением «txt». Все эти файлы в кодировке windows-1251, но мне нужно их все перекодировать в UTF-8.
Я указываю скрипту параметры
$decoder = new CDecoder('windows-1251', 'utf-8', array('txt'));
После чего закидываю скрипт в нужную папку.
И запускаю его в браузере http://verstaem.com/texts/decoder.php
Все. Текстовые файлы в папке texts перекодировались из windows-1251 в utf-8. Никакие другие файлы не были затронуты.
Интересно, файл кто-нибудь за 4 года скачал? Вы же сами пишите «И запускаю его в браузере http://verstaem.com/texts/decoder.php«.. как его, блин, можно скачать, если он запускается… скачать можно только уже результат. Сделайте архив и поделитесь нормально с людьми.
Да, скачал.
При последнем переносе сайта на другой хостинг забыл отключить исполнение скриптов в папке с примерами. Всего пару месяцев скрипт был не доступен.
Теперь нормально ссылка на скрипт работает. Спасибо за обратную связь 🙂
Спасибо друг, очень помог!
Подскажите пожалуйста: Как будет действовать если не все файлы одной кодировки? Не будет изменять или оставит кракозябры? 🙂
Посмотрел в исходнике needToConvert… Отличная штука, спасибо за класс, буду пробовать.
Пожалуйста 🙂
Там класс всего на 100 строк. Довольно просто все. Проверка кодировки есть. То есть каждый конкретный файл проверяется в UTF-8 он или нет. Насколько я знаю это единственное что можно понять достоверно. Все прочие кодировки однозначно определить нельзя. То есть если файл уже в utf, то повторно он конвертирован уже не будет. Или наоборот если вы из utf в другую кодировку конвертируете, то скрипт увидит, что файл и так уже не в utf и его пропустит
Файл исполняется при клике по ссылке….
Спасибо! Опять был спонтанный переезд. На всякий случай поправил ссылку на файл. Он теперь тут
https://github.com/alorian/Decoder/blob/master/decoder.php