2016-05-21 3 views
0

Когда я загружаю http://www.nydailynews.com/json/cmlink/NYDN.Local.Article.rss, в моем браузере он загружает содержимое JSON просто отлично. Но при вытягивании содержимого с file_get_contents я получаю странные символы, такие какигнорировать кодировку исходного файла file_get_contents и/или преобразовать в json-кодировку

Yr} OUaV @

Я попытался $contents = mb_convert_encoding(file_get_contents('http://www.nydailynews.com/cmlink/NYDN.Local.Article.rss'), 'HTML-ENTITIES', "UTF-8");, но это возвращает только формат типа XML , а не JSON, видимый в браузере.

UPDATE:

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL,'http://www.nydailynews.com/json/cmlink/NYDN.Local.Article.rss'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_ENCODING , 'gzip'); 
$content = curl_exec ($ch); 
+0

URL-адреса вы Размещенный в RSS, который является приложением XML. Здесь не участвует JSON. – axiac

+0

Мои извинения ... источник url, который я пытаюсь извлечь из http://www.nydailynews.com/json/cmlink/NYDN.Local.Article.rss не http://www.nydailynews.com/cmlink/ NYDN.Local.Article.rss ... исправление выше – user3638589

ответ

0

Вы можете попытаться преобразовать кодировку UTF-8 с помощью DOMDocument

$contents= file_get_contents("http://www.nydailynews.com/cmlink/NYDN.Local.Article.rss");  
$dom = new DOMDocument();  
if($dom->loadXML($contents)){ // $contents is an XML document with iso-8859-1 encoding specified in the declaration 
    $dom->encoding = 'utf-8'; // convert document encoding to UTF8 
    return $dom->saveXML(); // return valid, utf8-encoded XML 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^