Inicio » Trucos Informáticos » Sitios web » El juego de caracteres en un backup de una base de datos

El juego de caracteres en un backup de una base de datos

Si tenemos que hacer un backup de una base de datos MySQL, podemos emplear alguno de los métodos que explico en Backup y restore. Si entramos en la base con nuestro gestor, generalmente phpMyAdmin, y observamos los caracteres de los registros de una determinada tabla vemos que contienen vocales acentuadas, eñes o signos de interrogación. Si hacemos un backup y posteriormente un restore en otra base, comprobaremos que los caracteres típicos de nuestro idioma se han convertido en símbolos indescifrables, y así aparecerán en las páginas de nuestro sitio. Algo extraño ha ocurrido. ¿Qué ha pasado?

Los textos han llegado originalmente a la base de datos desde un formulario en una página web. Esta página soporta el código de caracteres iso-8859-1, o lo que es lo mismo latin1. Al hacer el backup, el sistema MySQL utiliza el juego de caracteres UTF-8 (no siempre ocurre así). Parte del resultado observado en el archivo SQL que se obtiene del backup puede ser muy parecido al que mostramos a continuación:

Al hacer la restauración, en la nuevas tablas se verán los caracteres tal como aparecen en el archivo SQL. Para evitarlo hay que, antes de nada, abrir el archivo SQL y añadir en la parte superior la instrucción siguiente: SET NAMES utf8;

Veremos ahora que los caracteres especiales aparecen en los registros de las tablas tal como estaban en la base de datos original.

Acerca de fabriciano

Amante de la informática y de Internet entre otras muchas pasiones. Leo, descifro, interpreto, combino y escribo. Lo hago para seguir viviendo y disfrutando. Trato de dominar el tiempo para que no me esclavice.

Deja un comentario