¿Cómo convertir un conjunto de caracteres completo de una base de datos MySQL y su intercalación a UTF-8?

Resuelto Dean asked hace 13 años • 20 respuestas

¿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?

Dean avatar May 25 '11 02:05 Dean
Aceptado

Utilice los comandos ALTER DATABASEy 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 utf8en 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;
BalusC avatar May 24 '2011 19:05 BalusC
  1. ¡Hacer una copia de seguridad!

  2. 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;
    
  3. 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;
    
newspire avatar May 24 '2011 20:05 newspire