Пакетная перекодировка файлов в UTF-8

Рубрика: IT. Сети. Связь
Метки:
Пятница, 13 января 2012 г.
Просмотров: 35430
Подписаться на комментарии по 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 — преобразований!

twitter.com facebook.com vkontakte.ru mail.ru friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru yandex.ru del.icio.us

Комментариев: 26

  1. 2012-04-01 в 09:36:16 | Сергей

    Не перекодирует. Пишет, что converted, а на самом деле все файлы остались в ANSI

  2. 2012-04-01 в 11:39:56 | Chewits
    ]]>]]>

    1. Проверьте из какой и в КАКУЮ директорию копируются (перекодируются) файлы. Есть подозрение, что вы смотрите файлы из старой директории

    2. Я смотрю в какой кодировке файл в Notepad++ - там внизу справа пишется

  3. 2012-05-09 в 19:10:32 | Алексей

    Если оставлять BOM, то конвертит нормально. Если делать без BOM, то оставляет ANSI. Стоит семерка. В ХП-шке не пробовал, может это глюк семерки.

  4. 2012-06-05 в 02:38:13 | Антонио

    Да, тоже такая шняга. Стоит ВИН7-64, файлы не конвертит "без ВОМ". Фиговый конвертор.

    Можно ли замутить такую пакетную конвертацию через notepad++?

  5. 2012-06-19 в 21:46:14 | Chewits
    ]]>]]>

    специально провел следственный эксперимент:

    в одну папку положил документ, созданный в Windows - в Notepad++ справа внизу определется как "ANSI"

    в другую папку переконвертил его сняв галочку Write BOM - в Notepad++ справа внизу определется как "ANSI as UTF-8" (что означает UTF-8 без BOM)

    Система у меня Windows 7 x64, чтобы не было никаких сомнений

    Мои лыжи едут :)

  6. 2012-07-23 в 17:55:53 | Андрей

    Большое спасибо.

    Сэкономлено громадное количество времени!

  7. 2012-09-26 в 12:45:50 | Ильдар

    Конвертирует, да, хорошо. Вот только вместе с файлами конвертирует картинки, если они там есть. А это очень печально я вам скажу. Файлы становятся не пригодными для чтения (((

  8. 2012-10-08 в 19:30:41 | Chewits
    ]]>]]>
    Вот только вместе с файлами конвертирует картинки, если они там есть.

    Как простое решение - можно отсортировать файлы в папке по типу, скопировать нужные вам файлы в другую папку, прогнать её через конвертер и перекопировать (с заменой) обратно в первоначальную папку

  9. 2012-11-19 в 12:44:07 | Владимир

    Спасибо. Не понятно по каким причинам кодировка на сайте поменялась в ключевой папке файлов. Помогло в экстренном случае.

  10. 2013-02-25 в 13:49:35 | Денис

    DeniSoft text Converter - перекодирует в пакетном режиме, русский, бесплатный. Преобразовывает только файли по расшерениям или маске, картинки не портит. Подходит для перекодировки web-проектов, для чего, собственно, и был написан.

    http://conv.denisoft.ru

  11. 2013-03-14 в 11:27:19 | Chewits
    ]]>]]>

    Денис, спасибо за дополнение. Всегда должна быть альтернатива)

  12. 2013-03-15 в 10:08:07 | Barsik

    ничерта он не конвертит!

    ставлю без БОМ

    часть детектирую, часть файлов ASCII, часть UTF-8 - все становятся ASCII

    в Notepade++ - ANSI

    заливаю на сайьт - кракозябры!

    работаю на W8

  13. 2013-03-15 в 10:21:11 | Barsik

    короче, фри версия без бом не конвертит

  14. 2013-03-15 в 12:12:11 | Chewits
    ]]>]]>

    Barsik, для начала, на сайте программы не указана поддержка Windows 8 для бесплатной версии (для платной есть), хотя я не думаю что в этом дело.

    Во-вторых, прочитайте мой комментарий , на выходе должно получиться "ANSI as UTF-8" (в Notepad++)

    И в-третьих, если у вас где-то кракозябры, это вовсе не означает, что проблемы в самих файлах. Могут быть проблемы с настройками сервера, конфигурацией баз данных, метаданными в HTML-коде, всем чем угодно, поэтому указывайте конкретно, где и что в кракозябрах отображается.

    Еще один вариант, который может иметь место быть: возможно у вас директория защищена от записи. Попробуйте запустить программу с правами администратора.

  15. 2013-06-11 в 11:15:00 | Олег

    Бомбезная статья. Так облегчил мне работу - слов нет :)

  16. 2013-06-14 в 15:46:16 | Chewits
    ]]>]]>

    Олег, не за что, пользуйтесь)

  17. 2014-01-15 в 04:12:33 | Serjio

    Отличная программа. Огромное спасибо)))

  18. 2014-01-25 в 03:28:39 | demys@mail

    конвертить-то конвертит. но вот все русские фразы источника превращаются в кукорямбы. чего не случается при ручной обработке например дремвевером. но тот только 1 файлу. нудно и противно. что-то недоработано. не помогла прожка. если удастся поправить - буду очень рад.

  19. 2014-02-27 в 02:01:26 | макс

    не кодирует

    Как было ANsi , так и осталось

    Была фраза Unix , стало DOs/windows Больше ничего не поменяло

  20. 2014-03-01 в 20:44:35 | Chewits
    ]]>]]>

    demys@mail, возможно вы что-то не так делаете, или не то и не там смотрите

    Для тех у кого кракозябры и другие проблемы в браузере, не забывайте про meta тег

    content-type ... charset=...

    макс (#19), опишите подробно что как делаете и чего хотите получить, выложите примеры файлов, я помогу

  21. 2014-04-18 в 11:03:35 | oooleha

    Все работает спас!!! несколько тысяч страниц...

    Спасибо!!!

  22. 2014-08-28 в 00:32:31 | Chewits
    ]]>]]>

    Не за что!

    Для тех у кого в браузере кракозябры, проверьте также директиву Apache (если он у вас принимает запросы):

    AddDefaultCharset utf-8

  23. 2017-01-30 в 00:06:19 | lpavelSync

    Заработок через интернет официальное трудоустройство.

  24. 2017-05-10 в 01:44:28 | regorSync

    Официальная работа на дому с обучением.

  25. 2017-06-07 в 01:53:25 | negorSync

    Вакансия. Обработка заказов на дому.

  26. 2017-06-10 в 12:03:12 | qegorSync

    Официальное трудоустройство, работа через интернет.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)