SimplePie RSS Parser — кодировка и странные символы даже в UTF-8

Я использую SimplePie для анализа RSS-канала и получаю следующий результат:

Don't forget our "Spot It, Post It" .....

Мой код:

<?php
header('Content-type:text/html; charset=utf-8');
require_once('rss/simplepie.inc');

// We'll process this feed with all of the default options.
$feed = new SimplePie();

// Set which feed to process.
$feed->set_feed_url('FeedURL');
$feed->enable_cache(true);  
$feed->set_cache_duration(3600);  
$feed->set_cache_location('cache');
$feed->init();  
$feed->handle_content_type();  
?>

Я использую HTML5 Doctype И у меня также есть: <meta charset="charset=utf-8">

Я просмотрел его, и все говорит об изменении кодировки на UTF-8, которая у меня явно есть ... поэтому я не слишком уверен, что еще вызывает это.

Есть идеи?


person Drew    schedule 07.03.2012    source источник


Ответы (2)


Это происходит с каждым кормлением? Или только один конкретный канал? Это может быть сам корм. Вы можете использовать $item->get_content() и просматривать содержимое фида напрямую, если само описание вызывает проблемы. Иногда необходимо выполнить обработку информации из канала или веб-API, есть PHP-код и примеры для удаления и замены символов, в демоверсии News Blocks 2.0 на сайте SimplePie есть код очистки, который я часто использую в последнее время.

Удачи.

person Muskie    schedule 07.03.2012

Я не знаю, удалось ли вам это исправить, но я решил поделиться своим решением со всеми, кто ищет. У меня была такая же проблема - символы "искажались" в ленте. Мой код изначально (с проблемой) был:

<?php 
include_once $_SERVER['DOCUMENT_ROOT'] . '/inc/simplepie.inc'; 
$feed = new SimplePie('http://domain.wordpress.com/feed/');
?>

Увидев сообщение выше, я попытался добавить следующий заголовок, и это сработало!

<?php 
header('Content-type:text/html; charset=utf-8');
include_once $_SERVER['DOCUMENT_ROOT'] . '/inc/simplepie.inc'; 
$feed = new SimplePie('http://domain.wordpress.com/feed/');
?>

Я надеюсь, что это поможет кому-то еще, столкнувшемуся с теми же проблемами.

person Vicky    schedule 21.05.2012