Весь канал RSS от iso-8859-1 в UTF-8

Я работаю над умением Amazon Echo Skill, которое основано на RSS-ленте.
Этот канал закодирован в 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"?>

Сейчас я не могу найти способ решения этой проблемы. Может быть, изменить весь канал на UTF-8. Есть идеи?

2

Решение

Ответ найден.
Я загрузил канал с:

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector