Pasar la codificación de una base de datos en Mysql de Latin1 a UTF8
Seguir los siguientes pasos
Exportar la BBDD a cambiar:
# mysqldump -u USER -p BBDD --default-character-set=latin1 > fichero.sql
hacer una copia
# cp fichero.sql ok_fichero.sql
Pasar a UTF8
# iconv -f ISO-8859-1 -t UTF-8 fichero.sql > fichero_utf8.sql
REEMPLAZAR SQL (spanish_ci o el latin1 que este definido)
# perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' fichero_utf8.sql
# perl -pi -w -e 's/COLLATE=latin1_spanish_ci/COLLATE=utf8_general_ci/g;' fichero_utf8.sql
# perl -pi -w -e 's/collate latin1_spanish_ci/collate utf8_general_ci/g;' fichero_utf8.sql
# perl -pi -w -e 's/character set latin1/character set utf8/g;' fichero_utf8.sql
# perl -pi -w -e 's/CHARACTER SET latin1/CHARACTER SET utf8/g;' fichero_utf8.sql
# perl -pi -w -e 's/NAMES latin1/NAMES utf8/g;' fichero_utf8.sql
CREAR NUEVA BBDD CON CODIFICACION UTF8
# mysql -u root -p
mysql> CREATE DATABASE nuevaBBDD_utf8 CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
mysql> quit
IMPORTAR EN UNA NUEVA BBDD CON CODIFICACION UTF8
# mysql -u USER -p nuevaBBDD_utf8 --default-character-set=utf8 < fichero_utf8.sql
| Mysql