2012-03-07 11 views
0

のエンコードと奇妙な文字私はRSSフィードを解析するためにはSimplePieを使用しています、と私は次の出力を取得しています:はSimplePie RSSパーサ - でも、UTF-8

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文書型を使用していると私も持っている:<meta charset="charset=utf-8">

を、私はそれを見て、私ははっきりと持っているUTF-8に文字セットを変更することについてのすべての話...私は他に何あまりにもわからないんだけどましたはこれが原因です。

アイデア?

答えて

1

これはすべてのフィードで発生しますか?それとも1つの特定のフィードですか?それは餌そのものかもしれない。 $ item-> get_content()を使用して、記述自体に問題があると判明した場合は、フィードの内容を直接見ることができます。フィードやWeb APIの情報を処理する必要がある場合や、文字コードを取り除いたり置き換えたりするPHPコードや例がある場合、SimplePieサイトのNews Blocks 2.0デモでは最近使用しているクリーニングコードがいくつかあります。

幸運。

2

この問題を解決できたかどうかはわかりませんが、探している相手と私の解決策を共有すると思いました。私は同じ問題を抱えていた - 文字はフィードで「壊れている」。私のコードは、最初に(問題あり)だった:

<?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/'); 
?> 

私は、これは同じ問題を経験して、他の誰かに役立ちます願っています。