Hace poco he tenido que realizar la conversión de varias bases de datos MySQL a UTF-8, y concretamente una de ellas me dio más problemas de los esperados, ya pertenecía a una base de datos documental que puse en marcha en el año 2005, y por tanto contenía referencias a nombres de archivo. Todo esto unido a un cambio de hosting, a un servidor linux que sí tenía el sistema de archivos codificado como UTF-8, hizo que empezaran los problemas.
Prerrequisitos
Hay varios requisitos anteriores. Deben estar codificados como UTF-8:
- la conexión de la base de datos (En
my.cnf) - las tablas de la base de datos.
Ambas opciones son fácilmente configurables desde PHPMyAdmin.
Convirtiendo la base de datos con iconv
Lo primero que habría que hacer es un volcado de la base de datos:
Una vez tenemos nuestro archivo de volcado, usamos el ejecutable iconv para hacer la conversión:
Perfecto, ya tenemos los datos convertidos, pero habría que asegurarse de que MySQL interprete los datos como UTF-8. Para ello abrimos el archivo con un buen editor como Textmate o Coda:
No Comments