Пакетная перекодировка файлов в UTF-8
Метки: софт
Пятница, 13 января 2012 г.
Просмотров: 690
Подписаться на комментарии по RSS
Иногда встает вопрос о перекодировании текстовых файлов из локальной кодировки (Windows-1251, например) в UTF-8.
Ладно бы такой файл один, а даже пусть целых три: открываем Notepad++, меню Кодировки->Преобразовать в UTF-8. Можно преобразовать в UTF-8 без BOM, смотря какие у вас цели.
Если файлов сотни и тысячи, нужно искать пакетный перекодировщих текстовых файлов, желательно бесплатный. И такой перекодировщик есть — UTFCast Express. Скачать его можно с официального сайта: http://www.rotatingscrew.com/downloads.aspx.
Что нам предлагает программа UTFCast Express? Пакетную перекодировку текстовых файлов из форматов ASCII, UTF-16 Little Endian, UTF-16 Big Endian в UTF-8 за пару кликов.
В интерфейсе нет сложных элементов: выбираем директорию, где лежат наши файлы, каталог, куда будут сохраняться перекодированные в UTF-8 файлы. Затем выставляем галочки:
- Recursive — если в указанной директории есть подкаталоги, то обрабатывать файлы любой степени вложенности,
- Copy Unconverted — копировать ли файлы, которые обработчик не смог перекодировать в силу разных обстоятельств (не подходящий тип файла, например, .exe). Опция малополезная, потому что UTFCast не допускает совпадения директории, откуда берутся файлы (Source directory) с директорией назначения (Target directory). Кроме того директория назначения не может быть подкаталогом директории — источника файлов.
- Write BOM — обратите внимание на этот флажок. Если отметить опцию, в начало каждого перекодированного файла будут добавляться дополнительные биты, обозначающие, что файл — UTF-формата. Часто они полезны для программ Windows, а вот в ряде случаев этот флаг нужно убрать категорически. Например, если вы готовите .html и .php файлы к закачке на сервер — оставьте флажок пустым.
- Detect Only — конвертировать не будет, а просто укажет в какой кодировке файлы в директории.
- Exit When Done — выйти по завершении всех операций.
Удачных UTF-8 — преобразований!


Комментариев: 3
Не перекодирует. Пишет, что converted, а на самом деле все файлы остались в ANSI
1. Проверьте из какой и в КАКУЮ директорию копируются (перекодируются) файлы. Есть подозрение, что вы смотрите файлы из старой директории
2. Я смотрю в какой кодировке файл в Notepad++ - там внизу справа пишется
Если оставлять BOM, то конвертит нормально. Если делать без BOM, то оставляет ANSI. Стоит семерка. В ХП-шке не пробовал, может это глюк семерки.