Convertir de latin1 a UTF-8 en MySQL 1

Desde la version de  MySql 4.1 que el charset por default es UTF-8. Si tienen una base de datos antigua con datos en latin1 y desean actualizar, deben de hacer lo siguiente:

  1. Para no perder los datos exportamos la informacion de la base de datos en latin1 a un archivo plano con el comando mysqldump:
    :~$ mysqldump -u usuario -p base_de_datos –default-character-set=latin1 > backuplatin1.sql
  2. Entrando a la consola de MySQl (o mariadb) o administracion via web con PhpMyAdmin debemos de crear una nueva base de datos con el set de caracteres UTF8:
    :~$ mysql -u mi_usuario -p
    mysql> CREATE DATABASE nueva_db CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. Ahora procedemos a convertir el set de caracteres del archivo backuplatin1.sql. Para luego con el archivo resultante cambiamos todas las referencias al juego de caracteres latin1:
    :~$ iconv -f ISO-8859-1 -t UTF-8 backup.sql > backup_utf8.sql
    :~$ perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' backup_utf8.sql
  4. Ahora con el backup o dump convertido al charset utf8 lo importamos a la nueva base de datos recien creada
    :~$ mysql -u mi_usuario -p  db_destino  –default-character-set=utf8 < backup_utf8.sql

Via | Gentoo Wiki

Terminos de busqueda

  • convert mysql
  • mysql utf8
  • á in utf-8
  • consulta convertir de iso a utf en mysql
  • latin1
  • cambiar utf8 a iso-8859-1 en java
  • mysql convert
  • como paso una tabla a iso-8859-1 mysql
  • convertir a utf8 bash
  • mysql convert utf8
  • One comment on “Convertir de latin1 a UTF-8 en MySQL

    1. Reply Alomaximo Feb 3,2010 11:44

      Deseaba saber si hay alguna funcion contraria para que en lugar de las palabras tildadas como á se vuelva una a con tilde?????

    Comentario, Preguntas o agradecimientos?

    %d bloggers like this: