« Publicar en el muro de Facebook desde tu web con PHP | Home | Cómo crear un virus informático »
¿UTF-8 o ISO-8859-1? Problemas con el charset en PHP
By creacciona | December 3, 2009
¿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: ajax, caracteres especiales, caracteres extraños, castellano, CIA, codificacion latin1, Desarrollo web, Form, ISO-8859-1, Juegos, latin1, llamadas AJAX, NIF, ORM, PHP, php charset, problemas charset, problemas con caracteres, UTF-8, utf8_decode(), utf8_encode()Related posts
Topics: Desarrollo web | No Comments »





