我正在使用基于RSS Feed的Amazon Echo Skill。 此Feed以iso-8859-1编码,但需要采用UTF-8格式。
因为技能在我的情况下只需要<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"?>
现在我无法找到解决这个问题的方法。也许将整个Feed更改为UTF-8。有什么想法吗?
答案 0 :(得分:0)
Answer found. I loaded the feed with:
$feed = file_get_contents(' .... ');
and encoded it with:
$feed = utf8_encode($feed);
$feed = str_replace('encoding="iso-8859-1"', 'encoding="utf-8"', $feed);
Now works fine for me.
Also i changed the load-function to:
$xml = new DOMDocument('1.0', 'utf-8');
$xml->loadXML($feed);