2017-04-06 1 views
2

私はRSSフィードに基づいたAmazonエコースキルに取り組んでいます。 このフィードはiso-8859-1でエンコードされていますが、UTF-8である必要があります。iso-8859-1からUTF-8への全RSSフィード

スキルだけ私の場合<encoded>タグを必要とするので、私が試した:

$content = $xml->getElementsByTagName("encoded") 
       ->item($i)->nodeValue; 
utf8_encode($content); 

をしかし、これは何もしませんでした。また、私は経由でファイルをロードヘッダーに:

$file = 'old.xml'; 
    $xml = new DOMDocument('1.0', 'utf-8'); 
    $xml->load($file); 

それはまだ書かれています:<?xml version="1.0" encoding="iso-8859-1"?>

は今、私はこの問題を解決するための方法を見つけることができません。フィード全体をUTF-8に変更する可能性があります。何か案は?

答えて

0

回答が見つかりました。 私はフィードをロード:

$feed = file_get_contents(' .... ');

し、それをエンコード:

$feed = utf8_encode($feed); 
$feed = str_replace('encoding="iso-8859-1"', 'encoding="utf-8"', $feed); 

今私のために正常に動作します。

はまた、私はへの負荷機能を変更:

$xml = new DOMDocument('1.0', 'utf-8'); 
$xml->loadXML($feed); 
関連する問題