Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Relational Database Service/ Perguntas frequentes/ Modificação de parâmetro de base de dados/ Como garantir que o conjunto de caracteres de um banco de dados RDS MySQL está correto?
Atualizado em 2023-08-29 GMT+08:00

Como garantir que o conjunto de caracteres de um banco de dados RDS MySQL está correto?

UTF-8 suporta caracteres de 4 bytes, mas o RDS for MySQL utf8 suporta apenas caracteres de 3 bytes. Emojis, caracteres chineses incomuns e caracteres Unicode recém-adicionados não podem ser armazenados usando o conjunto de caracteres MySQL utf8. O MySQL lançou o conjunto de caracteres utf8mb4 em 2010 e adicionou o código utf8mb4 após o 5.5.3 para ser compatível com o Unicode de 4 bytes. Você só precisa mudar utf8 para utf8mb4. Nenhuma outra conversão é necessária.

O Data Admin Service (DAS) é uma ferramenta profissional de gerenciamento de banco de dados. Você pode exibir os conjuntos de caracteres do banco de dados e do sistema por meio do console do DAS.

Procedimento

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página e escolha Databases > Relational Database Service.
  4. Na página Instances, localize a instância de BD de destino e clique em Log In na coluna Operation.

    Como alternativa, clique na instância de BD de destino na página Instances. Na página Basic Information exibida, clique em Log In no canto superior direito da página.

  5. Na janela de logon exibida, insira o nome de usuário e a senha corretos e clique em Log In.
  6. Na barra de menu superior, escolha SQL Operation > SQL Window.
  7. Execute a seguinte instrução SQL na janela de SQL para exibir o conjunto de caracteres do banco de dados:

    show variables like '%character%';

    Figura 1 Resultado da execução de SQL

  8. Execute a seguinte instrução SQL na janela SQL para exibir a codificação do banco de dados:

    show variables like 'collation%';

    Figura 2 Resultado da execução de SQL

  9. Altere o conjunto de caracteres para utf8mb4.

    1. Execute a seguinte instrução SQL para alterar os conjuntos de caracteres do banco de dados.

      ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    2. Execute a seguinte instrução SQL para alterar os conjuntos de caracteres da tabela.
      ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

      A instrução SQL apenas altera os conjuntos de caracteres das tabelas. Os conjuntos de caracteres de campos nas tabelas não são alterados.

    3. Execute a seguinte instrução SQL para alterar todos os conjuntos de caracteres de campo em tabelas:

      ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    • character_set_client, character_set_connection e character_set_results são as configurações do cliente.
    • character_set_system, character_set_server e character_set_database são as configurações do servidor.
    • As prioridades dos parâmetros no servidor são as seguintes: character_set_database > character_set_server > character_set_system.