Pergunta

Estou tendo um problema com nosso feed RSS exibindo corretamente no Safari, mas não no Firefox. Uma amostra é mostrada abaixo. A questão está nou003Ctitle> Tag em <bdate>. O Ó mostra corretamente no Safari, mas está escrito no Firefox. Alguém já encontrou este problema?

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/rss/styles/shared_xsl_stylesheet_v2.xml"?>
<rss version="2.0">
   <channel>
   <title>Updates: What's New on The Website</title>
   <link>http://www.site.com/news/whatsnew/wn-today.shtml</link>
   <description>The latest events, developments, and updates to the website</description>
   <language>en-us</language>

   <pubDate>Thu, 10 Sep 2009 11:58:18 EDT</pubDate>
   <lastBuildDate>Wed, 09 Sep 2009 16:41:00 EDT</lastBuildDate>
   <item>
     <title>Pronunciamiento de la Presidenta de la Comisi&oacute;n de Valores y Bolsa</title>
     <link>http://www.site.com/divisions/corpfin/cfnew/cfnew0909.shtml</link>
     <description>Pronouncements</description>

     <guid isPermaLink="false">2009-09-09-000115</guid>
     <pubDate>Wed, 09 Sep 2009 16:41:00 EDT</pubDate>
  </item>
</channel>

Editado para mostrar o código acima como código. :-)

Foi útil?

Solução

Ó é válido nos documentos codificados UTF-8. O problema é que você faz referência a Ó, mas a entidade precisa ser definida em um DTD em algum lugar porque o DTD padrão não o define porque Ó é válido no XML codificado UTF-8.

Confira o validador do W3C.

Outras dicas

Este exemplo funcionou como um campeão! (Eu não poderia estar no caminho certo sem começar por algumas das ótimas respostas aqui. Obrigado Mike Buckbee e Cptskippy)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE channel [ 
<!ENTITY oacute "&#211;">
<!ENTITY nbsp "&#160;">
]>
<rss version="2.0">
<channel>
<title>RSS Example</title>
<description>This is an &oacute; example &nbsp; of an RSS feed</description>
<link>http://www.domain.com/link.htm</link>
<lastBuildDate>Mon, 28 Aug 2006 11:12:55 -0400 </lastBuildDate>
<pubDate>Tue, 29 Aug 2006 09:00:00 -0400</pubDate>

<item>
<title>Item Example</title>
<description>This is an example of an Item</description>
<link>http://www.domain.com/link.htm</link>
<guid isPermaLink="false"> 1102345</guid>
<pubDate>Tue, 29 Aug 2006 09:00:00 -0400</pubDate>
</item>

</channel>
</rss>

Acredito em ambos os casos que estão realmente codificados, mas a visão do Safari é mais sofisticada (pode não ser uma coisa boa).

Se você quer realmente "ver" o que está acontecendo com o HTML, sua melhor aposta é usar o CURL ou o WGET para baixar diretamente o feed RSS e, em seguida, visualizar o arquivo em um editor de texto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top