¿Cómo convertir un conjunto de caracteres completo de una base de datos MySQL y su intercalación a UTF-8?
¿Cómo puedo convertir todo el conjunto de caracteres de la base de datos MySQL a UTF-8 y la intercalación a UTF-8?
Utilice los comandos ALTER DATABASE
y ALTER TABLE
.
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
O si todavía tienes MySQL 5.5.2 o anterior que no admite UTF-8 de 4 bytes, usa utf8
en lugar de utf8mb4
:
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
¡Hacer una copia de seguridad!
Luego debe configurar los conjuntos de caracteres predeterminados en la base de datos. Esto no convierte las tablas existentes, solo establece el valor predeterminado para las tablas recién creadas.
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
Luego, deberá convertir el conjunto de caracteres en todas las tablas existentes y sus columnas. Esto supone que sus datos actuales están realmente en el conjunto de caracteres actual. Si sus columnas están configuradas en un conjunto de caracteres pero sus datos realmente están almacenados en otro, deberá consultar el manual de MySQL sobre cómo manejar esto.
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;