Recientemente se ha tenido que pelear seriamente con el problema de las codificaciones. Y es que para todos aquellos que no hablamos o sepamos los tipos de lenguajes se nos plantean dificultades en el mundo de la informática.
Aforturnadamente poco a poco se van superando, pero claro uno que nunca se había encontrado con este problema, debido a que llevaba cuidado en todo lo que hacía ha visto como al descuidarse un poco puede tener un serio problema.
Pues bien, dependiendo de sí el charset del html es UTF-8 o ISO-8859-1 la cosa puede cambiar y de que manera.
Charset UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Charset ISO-8859-1:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
Por ejemplo con la primera línea, estamos diciendo que el documento está codificado como UTF-8. Esto significa que todas las tildes y caracteres no anglosajones estarán disponibles cuando visualicemos la página web. En la segunda línea esto no será así y dónde hayan tildes o caracteres no anglosajones saldrá el siguiente carácter:
A continuación usted visualizara el código php que prueba este ejemplo. Imagine que en la cabecera de nuestro documento HTML hemos definido la codificación como UTF-8.
El siguiente código sacaría por pantalla este resultado:
< ?php $cadena= 'Mañana iré al cine';
$utf= utf8_decode($cadena);
$cad= utf8_encode($utf);
echo $cadena;
echo $utf;
echo $cad;
?>
La primera línea muestra la cadena tal cual la tenemos. Es decir como el documento esta codificado en UTF-8 la cadena se muestra correctamente. En la segunda línea al llamar a la función utf8_decode($cadena); lo que estamos haciendo es pasar una cadena de UTF-8 a ISO-8859-1, de ahí que no se visualicen correctamente ni la “ñ” ni la “í”.
Utilizad UTF-8, pero si el sistema no lo permite tener en cuenta que con encode y decode de php podemos manejar el asunto.