Bueno.. a partir de hoy mi web va a modificar la codificación de caracteres.

arton186-b09d9.gif

La codificación de caracteres, help como bien dice la Wikipedia es:

“el código que empareja cada carácter de un lenguaje natural (pertenezca éste a un alfabeto o un silabario) con un símbolo en otro sistema de representación, health como un número o una secuencia de pulsos eléctricos en un sistema electrónico. Ejemplos comunes son el código Morse, la norma ASCII o la UTF-8.”

Antes, en este blog se utilizaba:

  • ISO-8859-15

Esta codificación es una variación de ISO 8859-1. Este es una norma de la ISO que define la codificación del alfabeto latino, incluyendo los diacríticos (como letras acentuadas, ñ, ç), y letras especiales (como ß, Ø), necesarios para la escritura de las siguientes lenguas originarias de Europa occidental: afrikaans, alemán, aragonés,catalán, danés, escocés, español, feroés, finés, francés, gaélico, gallego, inglés, islandés, italiano, neerlandés, noruego, portugués, sueco y vasco.

La variación del ISO-8859-15 se incluyó a raíz de la adición del signo del € como parte de los caracteres que utilizamos en nuestros ordenadores.

¿ Por que cambiar a UTF-8?

Como también leemos en la wikipedia las ventajas son:

  • Por supuesto, la ventaja más notable de cualquier Formato de Transformación Unicode sobre codificaciones heredadas es que éste puede codificar cualquier carácter.

(es decir que será compatible con los caracteres existentes)

  • La mayor parte del software existente (incluido el sistema operativo) no fueron escritos con Unicode en mente, y usar Unicode con ellos podría crear algunos problemas de compatibilidad. Por ejemplo, la librería estándar del lenguaje de programación C marca el final de una cadena con el carácter de un único byte 0x00. En la codificación Unicode UTF-16 la letra A en inglés es codificada como 0x0041. La librería considerará el primer byte 0x00 como el fin de la cadena e ignorará el resto. UTF-8, sin embargo, está diseñado para que los bytes codificados nunca tomen alguno de los valores de los caracteres especiales de ASCII, previniendo estos problemas y otros similares.
  • Las cadenas en UTF-8 pueden ser ordenadas usando rutinas de ordenamiento estándar orientadas a byte (sin embargo no habrá ninguna diferenciación entre las mayúsculas y las minúsculas con representaciones que exceden el valor 128).
  • UTF-8 es el valor predeterminado para el formato XML.

Realmente a nivel de lo que nosotros podremos ver, es que se pueden utilizar caracteres de otros lenguajes sin problemas. Como estos:

  • ????
  • ??????
  • ?????

——
Para hacer el cambio ha sido muy sencillo….

# mysqldump --opt -u root -p {nombre de la BD} > bd-iso.sql # iconv -f iso-8859-15 -t utf8 bd-iso.sql > bd-utf.sql # mysqladmin drop {nombre de la BD} # mysqladmin create {nombre de la BD} # mysql {nombre de la BD} < bd-utf.sql

A mi no me ha dado problemas, claro esta que hacer backup antes de cualquier “operación”