• Tags

  • Archivo

  • Post recientes

  • « | Home | »

    ¿UTF-8 o ISO-8859-1? Problemas con el charset en PHP

    By creacciona | December 3, 2009

    Bookmark and Share

    ¿Que usar? UTF-8 o ISO-8859-1. Personalmente yo uso solamente UTF-8 para codificar todo, aunque sean páginas en castellano. A la larga se evitan muchos problemas . Los problemas de charset surgen de dos cuestiones:

    * Estoy abriendo una fuente utf-8 y mi salida se ve en iso-8859-1
    * o bien el opuesto: iso-8859-1 la fuente, salida utf-8

    Primer caso: Por lo general se dá cuando salen en vez de eñes y tildes, caracteres extraños del tipo úl , á , etc… la cadena de origen estaría codificado en UTF-8 y nuestra página se vé en iso-8859-1

    Solución: La fuente está codificada en utf8 y es necesario pasarlo a Latin-1. Esto se hace con la función utf8_decode().

    //En este caso hacemos la conversion de utf-8 a iso-8859-1
    $cadena = utf8_decode($origen);
    

    Segundo caso: En vez de caracteres especiales vemos unos signos de interrogación o cuadraditos con números. Esto significa que no puede traducir el caracter a alguno Unicode porque está “mal formado”.

    Solución: Hay que convertir nuestra cadena a utf-8 mediante la función utf8_encode().

    //hacemos la conversion de iso-8859-1 a UTF-8
    $contenido = utf8_encode($origen);
    

    Todos estos problemas se solucionarian usando el mismo charset para todo, recomendable usar UTF-8 en nuestras páginas, ya que si vamos a usar llamadas AJAX, todo esto se trata en UTF-8, y así nos evitaremos luego las complicaciones de los distintos juegos de caracteres.

    Tags: , , , , , , , , , , , , , , , , , , , ,

    Related posts






     

    Topics: Desarrollo web | No Comments »

    Comments