首页 文章

整个RSS从iso-8859-1进入UTF-8

提问于
浏览
2

我正在开发一个基于RSS提要的Amazon Echo Skill . 此feed以iso-8859-1编码,但需要采用UTF-8格式 .

因为技能在我的情况下只需要 <encoded> 标签,我试过:

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

但这没有做任何事情 . 当我通过以下方式加载文件时也在 Headers 中:

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

它仍然说: <?xml version="1.0" encoding="iso-8859-1"?>

现在我找不到解决这个问题的方法 . 也许将整个Feed更改为UTF-8 . 有任何想法吗?

1 回答

  • 0

    找到答案 . 我加载了Feed:

    $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);
    

相关问题