0

what I build now is I grabbing from RSS feed in chinese RSS website, but once I echo out is blank, my code was work on english RSS, I try a lot of decode,iconv, header("Content-Type: text/html; charset=utf-8");, but still the same cannot display any chinese word on my screen.

here is my coding:

header("Content-Type: text/html; charset=utf-8");
function getrssfeed($feed_url){    
$Current = date("Y-m-d" ,strtotime("now"));
$content = file_get_contents($feed_url);    
$xml = new SimpleXmlElement($content);
$body = "";
    foreach($xml->channel->item as $entry){     
        $body .= get_html_translation_table(htmlspecialchars_decode(strip_tags($Current ." ". $entry->description))) . "\n\n";      
        //$result = iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $body);
        $i++;       
        if($i==5) {
            break;      
        }       
    }
echo $body;
}

getrssFeed("http://news.baidu.com/n?cmd=1&class=enternews&tn=rss");

Can you guy help me how to solve my problem ?

thank you

Makoto
  • 104,088
  • 27
  • 192
  • 230
user941885
  • 223
  • 1
  • 3
  • 5

3 Answers3

1

in your HTML header put this

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" ></meta>
Roshan Wijesena
  • 3,106
  • 8
  • 38
  • 57
  • I tested, still the same thing happen, displaying white blank page, If I change the rss link to english, it's work – user941885 Sep 20 '11 at 03:24
1

Two things you need to do

  1. Set document type or header as

content="text/html;charset=utf-8"

  1. Save those user Chinese characters in database with field collation as utf8_general_ci
Kammy
  • 409
  • 1
  • 7
  • 26
0

may be you can use this function with

mb_convert_encoding

,but at the same time ,you should attention the native document charset must be utf-8 or gb2312