Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Relational Database Service/ Preguntas frecuentes/ Modificación de parámetros de bases de datos/ ¿Cómo me aseguro de que el conjunto de caracteres de una base de datos de RDS for MySQL es correcto?
Actualización más reciente 2024-06-06 GMT+08:00

¿Cómo me aseguro de que el conjunto de caracteres de una base de datos de RDS for MySQL es correcto?

UTF-8 admite caracteres de 4 bytes, pero RDS for MySQL utf8 solo admite caracteres de 3 bytes. Los emojis, caracteres chinos poco comunes, y caracteres Unicode recién añadidos no se pueden almacenar utilizando el conjunto de caracteres utf8 de MySQL. MySQL lanzó el conjunto de caracteres utf8mb4 en 2010 y agregó el código utf8mb4 después de 5.5.3 para ser compatible con el unicode de 4 bytes. Solo necesita cambiar utf8 a utf8mb4. No se requiere ninguna otra conversión.

Data Admin Service (DAS) es una herramienta profesional de gestión de bases de datos. Puede ver los conjuntos de caracteres del sistema y de la base de datos a través de la consola de DAS.

Procedimiento

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en en la esquina superior izquierda y seleccione una región y un proyecto.
  3. Haga clic en en la esquina superior izquierda de la página y seleccione Databases > Relational Database Service.
  4. En la página Instances, busque la instancia de base de datos de destino y haga clic en Log In en la columna Operation.

    También puede hacer clic en la instancia de base de datos de destino en la página Instances. En la página Basic Information mostrada, haga clic en Log In en la esquina superior derecha de la página.

  5. En la página de inicio de sesión mostrada, ingrese el nombre de usuario y la contraseña correctos y haga clic en Log In.
  6. En la barra de menú superior, elija SQL Operations > SQL Query.
  7. Ejecute la siguiente sentencia de SQL en la ventana de SQL para ver el conjunto de caracteres de la base de datos:

    show variables like '%character%';

    Figura 1 Resultado de ejecución SQL

  8. Ejecute la siguiente sentencia SQL en la ventana de SQL para ver la codificación de la base de datos:

    show variables like 'collation%';

    Figura 2 Resultado de ejecución SQL

  9. Cambie el conjunto de caracteres a utf8mb4.

    1. Ejecute la siguiente sentencia SQL para cambiar los conjuntos de caracteres de la base de datos.

      ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    2. Ejecute la siguiente sentencia SQL para cambiar los conjuntos de caracteres de la tabla.
      ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

      La sentencia SQL solo cambia los conjuntos de caracteres de las tablas. Los conjuntos de caracteres de los campos de las tablas no se modifican.

    3. Ejecute la siguiente sentencia SQL para cambiar todos los conjuntos de caracteres de campo en las tablas:

      ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    • character_set_client, character_set_connection y character_set_results son los ajustes del cliente.
    • character_set_system, character_set_server y character_set_database son los ajustes del servidor.
    • Las prioridades de los parámetros en el servidor son las siguientes: character_set_database > character_set_server > character_set_system.