sql >> Base de Datos >  >> RDS >> Mysql

Cómo convertir una base de datos MySQL a codificación UTF-8

Este artículo describe cómo convertir el conjunto de caracteres de una base de datos MySQL a la codificación UTF-8 (también conocida como Unicode). El conjunto de codificación de caracteres UTF-8 admite muchos alfabetos y caracteres para una amplia variedad de idiomas.

Aunque MySQL admite el conjunto de codificación de caracteres UTF-8, a menudo no se utiliza como conjunto de caracteres predeterminado durante la creación de bases de datos y tablas. Como resultado, muchas bases de datos utilizan el juego de caracteres latinos, que puede ser una limitación según la aplicación.

Determinación del conjunto de codificación de caracteres actual

Para determinar qué conjunto de codificación de caracteres utiliza actualmente una base de datos o tabla MySQL:

  1. Inicie sesión en su cuenta SSH de A2 Hosting.
  2. En la línea de comando, escriba el siguiente comando, reemplazando nombre de usuario con su nombre de usuario:
    mysql -u username -p
  3. En el mensaje Ingresar contraseña, escriba su contraseña. Cuando escribe la contraseña correcta, aparece el mensaje mysql>.
  4. Para mostrar el conjunto de codificación de caracteres actual para una base de datos en particular, escriba el siguiente comando en el indicador mysql>. Reemplace dbname con el nombre de la base de datos:

    SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "dbname";
  5. Para mostrar el conjunto de codificación de caracteres actual para una tabla en particular en una base de datos, escriba el siguiente comando en el indicador mysql>. Reemplace dbname con el nombre de la base de datos y tablename con el nombre de la tabla:

    SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "dbname" AND T.table_name = "tablename";
  6. Para salir de mysql programa, escriba \q en el indicador mysql>.

Convertir el conjunto de codificación de caracteres a UTF-8

¡Asegúrese de realizar una copia de seguridad de la base de datos antes de iniciar este procedimiento! Puede hacer una copia de seguridad de una base de datos MySQL usando cPanel, phpMyAdmin o mysqldump programa.

Para convertir el conjunto de codificación de caracteres a UTF-8:

  1. Inicie sesión en su cuenta SSH de A2 Hosting.
  2. Cree un archivo de texto llamado .my.cnf . Para hacer esto, puede usar un editor de texto como Vim o Nano. Este procedimiento muestra cómo usar Nano. En la línea de comando, escriba el siguiente comando:
    nano .my.cnf
  3. Agregue las siguientes líneas al archivo, reemplazando nombre de usuario con su nombre de usuario y contraseña con su contraseña (asegúrese de que la contraseña esté entre comillas):

    [client]
    user=username
    password="password"
  4. Cuando las ediciones estén completas, presione Ctrl+X, escriba y para guardar el archivo y luego presione Entrar.
  5. Para cambiar la codificación del conjunto de caracteres a UTF-8 para todas las tablas de la base de datos especificada, escriba el siguiente comando en la línea de comando. Reemplace dbname con el nombre de la base de datos:

    mysql --database=dbname -B -N -e "SHOW TABLES" | awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' | mysql --database=dbname
  6. Después de que finalice el comando, escriba el siguiente comando para iniciar mysql programa:

    mysql
  7. Para cambiar la codificación del conjunto de caracteres a UTF-8 para la propia base de datos, escriba el siguiente comando en el indicador mysql>. Reemplace dbname con el nombre de la base de datos:

    ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
  8. Para salir de mysql programa, escriba \q en el indicador mysql>.
  9. Para eliminar .my.cnf archivo, escriba el siguiente comando en la línea de comando:

    rm .my.cnf
  10. Para verificar que la codificación del conjunto de caracteres ahora está establecida en UTF-8, siga los pasos del procedimiento anterior Determinar el conjunto de codificación de caracteres actual.

Más Información

Para obtener más información sobre UTF-8 y Unicode, visite http://en.wikipedia.org/wiki/UTF-8.