Конвертация кодировки Win-1251 в UTF-8

Опубликовано в (Техническое отступление) | автор splogmaster | 03-12-2008

Тэги: , , , , , , ,

В Yahoo Pipes иногда приходится работать с RSS-лентами русскоязычных сайтов, которые отдают ленты в кодировке Win-1251 - весь мир уже давно перешел на кодировку UTF-8, однако самописные движки или же просто древние версии известных CMS по-прежнему функционируют в традициях прошлого века. Конечно же, Yahoo Pipes изначально понимал только кодировку UTF-8, затем в процессе расширения своей универсальности Yahoo Pipes стал понимать и кодировку Win-1251, хотя и не со 100% попаданием.

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

Если вы подсовываете RSS-фид в FeedWordpress и вместо читабельных постов видите кракозябли - значит проблема с кодировкой фида. Потому что wordpress работает именно с кодировкой UTF-8, и, как выяснилось недавно, blogger.com тоже - это значит подсовывать им русскоязычную RSS-ленту с какого-нибудь известного новостного сайта, которая вероятнее всего будет именно в кодировке Win-1251, бессмысленно.

Для конвертации Win-1251 в UTF-8 я пользуюсь двумя способами:

  1. Пропустить RSS в кодировке Win-1251 через трубу - это значит использовать внутренне преобразование фида в Yahoo Pipes в качестве конвертера. Этот способ работает далеко не всегда, и, к примеру, Yahoo Pipes может успешно переконвертировать item.description, но почему-то при этом не переконвертировать item.title.
    При парсинге HTML-страниц Yahoo Pipes не применяет внутренней переконвертации в UTF-8, поэтому немалое количество русскоязычного контента непригодно для использования в Yahoo Pipes
  2. Использовать специальный скрипт и пропускать кривой RSS-фид через него - минус скрипта в том, что прогоняемый фид должен быть иделаьным с точки зрения стандартизации, иначе скрипт просто не поймет, что это такое ему подсовывают. В этом смысле Yahoo Pipes гораздо привлекательнее, т.к. трубы можно прикрутить практически к любому фиду. Взять скрипт для конвертации кодировки RSS из win-1251 в UTF-8 можно здесь , мной этот скрипт был взят на блоге Arser’a.




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

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