2016-06-23 10 views
2

Я сделал свой собственный rss-канал с php, но я не могу его проверить, когда я использую символы с акцентом. Я не могу найти решение для этого.PHP: RSS-канал не проверяется с присутствующими акцентированными символами

Это мой RSS канал до сих пор:

<?xml version="1.0"?> 
     <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> 
     <channel> 
     <title>My site</title> 
     <link>http://www.example.com</link> 
     <description>The newest music</description> 
     <atom:link href="http://www.example.com/feed.php" rel="self"></atom:link> 
     <item> 
     <title><![CDATA[Beyoncé - Sorry]]></title> 
     <description>New Music</description> 
     <pubDate>Thu, 23 Jun 2016 09:07:10 +0000</pubDate> 
     <guid>http://www.example.com/beyonce/sorry</guid> 
     <enclosure url="mypicture.jpg" length="0" type="image/jpeg"></enclosure> 
     <link>http://www.example.com/beyonce/sorry</link> 
     </item> 
     </channel> 
    </rss> 

Я попробовал тег CDATA, и это фиксируется специальные символы, но не акцентирован. Любые мысли?

Я использовал: https://validator.w3.org/feed/check.cgi как валидатор. Сообщение об ошибке: «'utf8' codec не может декодировать байт 0xe9 в позиции 2474: недопустимый байт продолжения (может быть, бит с высоким бит?)«

И я проверяю браузеры браузера Firefox и IE, t показывает элемент с акцентированным персонажем. Остальные элементы всего фида отображаются очень хорошо.

Это информация Заголовок:

header('Content-type: text/xml; charset=utf-8'); 
+0

Это подтверждает очень хорошо для меня. Вы используете какой-то специальный метод проверки? Какая ошибка? Предоставляйте то, что * не работает, а не только то, что работает. – apokryfos

+0

Я отредактировал сообщение, чтобы ответить на ваши вопросы. –

+0

Я понял, что НЕ работает. Рабочие элементы удаляются из приведенного выше кода. –

ответ

0

Я нашел ответ сам.

Убедитесь, что вы используете utf8_encode(), чтобы получить символ с акцентом справа.

Пример:

$title = Beyoncé; 
$title = utf8_encode($title); 

echo $title