Feeds: problemas de codificación - Userlinux.net

Dependiendo de la configuración del servidor la codificación de caracteres puede traer ciertos problemas a la hora de crear feeds para la sindicación de contenidos. Es posible que el contenido del archivo rss generado esté bajo la codificación iso-8859-1 sin embargo el servidor (Apache) lo esté sirviendo como utf-8 y…

Feeds: problemas de codificación

18.Oct.2007 ~ 3 Comentarios ~ 2265 Lecturas
Dependiendo de la configuración del servidor la codificación de caracteres puede traer ciertos problemas a la hora de crear feeds para la sindicación de contenidos.

Es posible que el contenido del archivo rss generado esté bajo la codificación iso-8859-1 sin embargo el servidor (Apache) lo esté sirviendo como utf-8 y tanto los servicios de lectura como los lectores se estén haciendo un lío con tanto acento mal puesto (jurar?a que si xD).

Your feed appears to be encoded as "iso-8859-1", but your server is reporting "US-ASCII"
El problema lo ha reportado e.minguez al que le agradezco enormemente el mail que he recibido. Nota mental: Por pasarme de curioso he descubierto 2girs1cup... sin comentarios al respecto :D.

La solución -gracias a betabug y a varias búsquedas en google- ha sido sencilla de implementar. Simplemente hay que decirle a Apache que sirva los archivos .rss con una codificación distinta de la habitual. Para ello en httpd.conf agregamos lo siguiente:
AddType   text/xml;charset=iso-8859-1   .rss
Si ahora miramos las cabeceras HTTP de la petición podemos ver como tanto la codificación como el tipo de archivo son correctos:
Content-Type: text/xml; charset=ISO-8859-1
Para hurgar en las cabeceras HTTP existe una extensión para firefox llamada Live HTTP Headers o la clásica opción del telnet servidor 80 y un GET http://url/que_queramos capturando el flujo de datos.

Comentarios


gravatar
18.Oct.2007
Si no queremos definirlo así para todo el servidor, o nos encontramos en un hosting compartido sin acceso a "tocar" las directivas de Apache, también nos puede srevir un simple header en php, bien fijando en un .htaccess que el xml sea procesado como php, bien creando un rss.php en vez de .xml:


gravatar
18.Oct.2007
Muy interesante y complementario el comentario MarcosBL, había pensado en la "opción header" pero no se me ocurría la forma de incrustarla en un .rss, imagino que renombrarlo a .php no tendrá ningún tipo de "efectos colaterales". Gracias por la aportación.

gravatar
18.Oct.2007
Si no quieres renombrarlo tambien puedes poner en un .htaccess donde esté el XML:

AddHandler application/x-httpd-php .xml

Y a vivir, si no me equivoco (tú sabes más de apache que yo) podrás incluir código php en ese xml concreto, sin afectar al resto del servidor.

Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Buscar

Cargando...

Últimos comentarios

  • Juan
  • Marina
  • Francisco
  • fon
  • minWi
  • isra
  • reidrac
  • r0sk
  • Rodrigo Rega
  • minWi
  • r0sk
  • reidrac
  • r0sk
  • deady
  • errece

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

ssh frases champions userlinux iphone lugo rsidenotes felicidades films nintendo opinion sysadmin 2008 blogsfera vacaciones juegos cake ds debian sidenotes apple web blogs mac mysql cakephp deportes 2007 mundial openbsd barça ubuntu twitter blog humor meme canción alemania_2006 games bsd lucux linux twitt programación cumpleaños software django league bash macosx ps3 rfilms conciertos freebsd seguridad personal hack php bake futbol

Archivo

Social

Enlaces de interés