Есть много файлов и папок. Файлы в кодировке utf-8. Как быстро, не поднимая шума, конвертировать их все в кодировку windows-1251?
Наверное, это можно сделать и из командной строки Windows.
Но вот так это можно сделать в Linux консоли командой в 1 строку:
find . -name "*.php" -exec sh -c "iconv -f utf-8 -t windows-1251 {} > {}.utf8" \; -exec mv "{}".utf8 "{}" \;
Что делает эта команда:
1. рекурсивно ищет файлы в текущей папке по маске *.php
2. отдает их команде iconv, которая конвертирует эти файлы из utf-8 в windows-1251 и копирует результат в файл *.utf8
3. меняет имя новому файлу с *.utf8 в исходное
Спасибо-папасибо =)
А мне еще понравилось такое «программерское» решение для конвертации файлов, нашёл его тут http://zixn.ru/rekursivnoe-perekodirovanie-fajlov-v-linux-pri-pomoshhi-enconv-i-php.html. Особенно актуально при хождениях в проектах Битрикс между сайтами с разной кодировкой.