Convertir tu base de datos MySQL a utf8

A veces sucede que comienzas un proyecto donde decides que el Español va a ser el único idioma, o simplemente seleccionas el juego de carácteres equivocado por error, y cuando te quieres dar cuenta todas tus tablas están en un formato que no se ajusta a tus necesidades. Si este es tu caso y necesitas convertirla a UTF8 aquí te explico en tres sencillísimos pasos como realizarlo:

Lo primero que tienes que hacer es cambiar la configuración de tu MySQL, para ello edita el fichero my.ini o my.cnf (dependiendo si estás en Windows o Linux), e incluye o reemplaza las siguientes líneas:

[mysql] default-character-set=utf8_general_ci
[mysqld] character-set-server=utf8

A continuación, cambia el Collation de tu base de datos:

ALTER SCHEMA base_de_datos DEFAULT COLLATE utf8_general_ci;

Y por último transforma todas las tablas, con esta query podrás generar todas las queries que después tendrás que ejecutar:

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'base_de_datos' AND TABLE_TYPE != 'VIEW';

Comentarios

Entradas populares de este blog

Envío de checkboxes o selector multiple por AJAX con jQuery

Patrones de Diseño en PHP

Conceptos básicos de la POO en PHP