MySQL – Charset y Collation

En MySQL vienen definidos unos valores por defecto para charset y para collation que en ocasiones puede darnos sorpresas al importar archivos SQL apareciendo caracteres extraños en lugar de los que esperábamos ver.

Por charset se entiende el juego de caraceteres que utiliza el servidor MySQL, mientras que por collation se entiende las reglas de comparación para ordenar alfabéticamente ese juego de caracteres.

En mi servidor se han definido por defecto utf-8 para charset y latin1_swedish_ci para el collation (los autores de MySQL son suecos).

Nosotros definiremos latin1(iso-8859-1) para el charset y latin1_spanish_ci para collation.

Editamos el archivo de configuración de MySQL que se suele llamar my.ini o my.cnf dependiendo del sistema operativo y añadimos los siguientes valores después de la sección [mysqld]:

character-set-server=latin1
collation-server=latin1_spanish_ci
default-character-set=latin1
default-collation=latin_spanish_ci

A continuación reiniciamos el servidor y así se habrán establecido los nuevos valores por defecto.

Para asegurarnos, especificamos los charsets en la configuración de PHP y Apache.

Editamos php.ini y modificamos la línea:

default_charset="iso-8859-1"

Editamos httpd.conf y modificamos la línea. Si comentamos la línea tomará el charset por defecto del navegador:

AddDefaultCharset ISO-8859-1

Sin categoría

Deja un comentario