Hola, hoy me he levantado con ganas de ponerle RSS a mi pequeña web.
El caso es que una vez ya he conseguido que sea un RSS dinámico, me encuentro con problemas con los que no me he encontrado al probar a hacerlo estático (porque había hecho una prueba con poca información).
No me está reconocimiendo los carácteres especiales como la Ñ o las letras con tilde.
Esto hace que aunque funcione, me aparezca el típico interrogante además de que el feed validator no me valide el archivo como RSS correcto.
El código que uso es este:
<?
//codigo para conectar con la base de datos
// Header para escribir XML
header('Content-type: text/xml; charset="utf-8"', true);
// Escribimos el archivo RSS
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
echo '<channel>';
echo '<title>MiWeb.com</title>';
echo '<link>http://www.MiWeb.com</link>';
echo '<description>Noticias que pasan por mi mente</description>';
echo '<atom:link href="http://www.MiWeb.com/personal_rss.php" rel="self" type="application/rss+xml" />';
for($i = 0; $i < $num_resultados; $i++)
{
$fila = mysql_fetch_array($resultado);
$id_entrada = $fila['id'];
echo '<item>' ;
echo '<title><![CDATA['.$fila['titulo'].']]></title>';
echo '<link>http://www.miweb.com/comentarios?id='.$fila['id'].'</link>';
echo '<description><![CDATA['.$fila['texto'].']]></description>';
echo '<author><![CDATA[[email protected] (Yo)]]></author>';
echo '<guid isPermaLink="true">http://www.miweb.com/comentarios.php?id='.$id_entrada.'</guid>';
echo '</item>';
}
echo '</channel>';
echo '</rss>';
?>
Los errores que me da son los siguientes:
This feed does not validate.
*'utf8' codec can't decode bytes in position 383-385: invalid data (maybe a high-bit character?) [help]
*line 53, column 5: XML parsing error: <unknown>:53:5: mismatched tag [help]
Además me salen bastantes advertencias, todas relacionadas con el tema de los carácteres extraños.
He de reconocer que de XML no tengo ni warra, pero el código es el mismo que he probado con el estático y lo detectaba al 100% correcto y me daba la opción de guardarme el chupi-icono del RSS válido. Estoy casi seguro de que el problema viene al meter la descripción, que contiene carácteres que no me reconoce.
A ver si me podeis echar una mano, porque yo ya no sé qué más hacer.
Muchas gracias.