Конвертация кодировки Win-1251 в UTF-8
Опубликовано в (Техническое отступление) | автор splogmaster | 03-12-2008
Тэги: Arser, rss, UTF-8, Win-1251, Yahoo Pipes, кодировка, конвертация, скрипт
В 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 я пользуюсь двумя способами:
-
Пропустить RSS в кодировке Win-1251 через трубу - это значит использовать внутренне преобразование фида в Yahoo Pipes в качестве конвертера. Этот способ работает далеко не всегда, и, к примеру, Yahoo Pipes может успешно переконвертировать item.description, но почему-то при этом не переконвертировать item.title.
При парсинге HTML-страниц Yahoo Pipes не применяет внутренней переконвертации в UTF-8, поэтому немалое количество русскоязычного контента непригодно для использования в Yahoo Pipes
- Использовать специальный скрипт и пропускать кривой RSS-фид через него - минус скрипта в том, что прогоняемый фид должен быть иделаьным с точки зрения стандартизации, иначе скрипт просто не поймет, что это такое ему подсовывают. В этом смысле Yahoo Pipes гораздо привлекательнее, т.к. трубы можно прикрутить практически к любому фиду. Взять скрипт для конвертации кодировки RSS из win-1251 в UTF-8 можно здесь , мной этот скрипт был взят на блоге Arser’a.
[...] - именно о таком пропускании через трубы я писал в посте о проблеме с кодировкой Win-1251 - как видим, внешних преобразований фида мы никаких не [...]
[...] кодировка utf8 [...]
[...] кодировка rss wordpress [...]