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

Cómo cambiar el juego de caracteres de latin1 a UTF8 en MySQL

Por defecto, las bases de datos MySQL tienen un juego de caracteres latin1 y una intercalación. Sin embargo, a veces es posible que necesite almacenar caracteres UTF8 en la base de datos MySQL. Aquí se explica cómo cambiar el conjunto de caracteres de latin1 a UTF8.


Cómo convertir la base de datos MySQL de latin1 a UTF8

Estos son los pasos para cambiar el conjunto de caracteres de latin1 a UTF para la base de datos MySQL.


1. Determinar el juego de caracteres actual

Inicie sesión en la herramienta de línea de comandos de MySQL. Verá una solicitud de contraseña. Introduzca su contraseña para iniciar sesión en la base de datos MySQL.

$ sudo mysql -uroot -p

Ejecute el siguiente comando para determinar el conjunto de caracteres actual de su base de datos. Reemplace nombre_de_base_de_datos a continuación con el nombre de su base de datos

mysql> SELECT default_character_set_name 
       FROM information_schema.SCHEMATA S 
       WHERE schema_name = "database_name";
+----------------------------+
| default_character_set_name |
+----------------------------+
| latin1                     |
+----------------------------+

Si desea determinar el juego de caracteres para una tabla de base de datos específica, ejecute el siguiente comando. Reemplace nombre_base_datos y nombre_tabla con los nombres de su base de datos y tabla respectivamente.

mysql> 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 = "database_name" 
       AND T.table_name = "table_name";

Lectura adicional:Cómo aumentar las conexiones máximas en MySQL

2. Cambiar el conjunto de caracteres de latin1 a UTF8

Ejecute el siguiente comando para cambiar el conjunto de caracteres de la base de datos MySQL de latin1 a UTF8. Reemplace nombre_base_de_datos con el nombre de su base de datos

Para MySQL> 5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Para MySQL <=5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Lectura adicional:Cómo clasificar sobre la partición en MySQL

Del mismo modo, aquí está el comando para cambiar el conjunto de caracteres de la tabla MySQL de latin1 a UTF8. Reemplace table_name con el nombre de la tabla de su base de datos.

Para MySQL> 5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Para MySQL <=5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Con suerte, el tutorial anterior lo ayudará a cambiar el conjunto de caracteres de la base de datos a utf8mb4 (UTF-8).