Проблема с перекодировкой файлов

Автор Moreplavatel, декабря 26, 2013, 05:16:57

« предыдущая - следующая »

Moreplavatel

декабря 26, 2013, 05:16:57 Последнее редактирование: декабря 26, 2013, 12:30:03 от Moreplavatel
Ну и еще вопросик , так , на авось .
Может знаете каким образом массово сменить кодировку файлов , файлов много ( тысячи полторы ) , разные уровни вложенности ( подпапки ) , в разных форматах ( картинки тоже там же валяются ) а текстовые файлы в разной кодировке , windows-1251 и utf-8 .
Пробовал программы , скрипты , нашел скрипт который прекрасно с этим справляется , один минус , он перегоняет все подряд и картинки и текстовые файлы и работает только из windows-1251 в utf-8 . А файлы которые были в utf-8 он тоже пытается перекодировать но у него это на получается , кодировка короче слетает .

Можно ли как то из этой каши сделать единую кодировку , не важно какая utf-8 или windows-1251 , лишь бы было все в одной кодировке .

butjapka

декабря 26, 2013, 10:48:29 #1 Последнее редактирование: декабря 26, 2013, 10:53:10 от butjapka
попробуйте
find . -type f -exec bash -c  "enca -x cp1251 {}" \;
Вместо cp1251 может быть  любая кодировка.

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

Moreplavatel

Вот эта команда отработала нормально
find . -type f -exec bash -c  "enca -x utf-8 {}" \;
Все бинарные файлы остались целыми ( .gif , swf ) , все windows-1251 перегнались в utf-8 а те которые уже были в utf-8 остались или не тронутыми или корректно переконвертировались .
А вот те комманды из вики , почему то не могут utf-8 оставить в utf-8 , точнее они в кодировки utf-8 но вот русские буквы в этом файле слетают ( крякозябры ) .

Объясните пожалуйста на пальцах , почему так ?