Leve 5 minutos para entender o conjunto de caracteres do MySQL

Continue a criar, acelere o crescimento! Este é o sexto dia da minha participação no "Nuggets Daily New Plan · Outubro Update Challenge", clique para ver os detalhes do evento

prefácio

O problema de "caracteres distorcidos" é frequentemente encontrado no desenvolvimento diário, o que provavelmente é causado pela falta de compreensão do conjunto de caracteres e da configuração errada. Este artigo resume principalmente o conhecimento relevante do conjunto de caracteres MySQL e como definir o conjunto de caracteres. ajudou. Se houver algum erro ou não for considerado completamente, por favor me avise.

o que é um conjunto de caracteres

O conjunto de caracteres define os caracteres e a codificação dos caracteres e especifica o formato de armazenamento dos caracteres no banco de dados, como quanto espaço eles ocupam, quais caracteres são suportados e assim por diante.

Depois de determinarmos o intervalo de caracteres representados pelo conjunto de caracteres e as regras de codificação, também precisamos comparar o tamanho dos dois caracteres. A ordenação refere-se às regras de comparação para diferentes caracteres no conjunto de caracteres especificado.

Conjunto de caracteres comuns do MySQL

Existem quatro conjuntos de caracteres MySQL comuns:

conjunto de caracteres comprimento ilustrar
GBK 2 Suporta chinês, mas não o conjunto de caracteres universal internacional
UTF-8 3 Suporta cenas mistas chinesas e inglesas, é um conjunto de caracteres universal internacional
Latim1 1 Conjunto de caracteres padrão do MySQL
utf8mb4 4 Totalmente compatível com UTF-8, armazene mais caracteres em quatro bytes
  • Se o desenvolvimento do sistema for para empresas estrangeiras e precisar lidar com diferentes países e idiomas, você deve escolher utf-8 ou utf8mb4.
  • Se você só precisa dar suporte a negócios chineses e não a empresas estrangeiras, o GBK pode ser usado para considerações de desempenho.

Manipulação do conjunto de caracteres MySQL

Ver conjunto de caracteres

1. Veja os conjuntos de caracteres suportados no MySQL atual

show charset [LIKE match pattern];

2. Veja as regras de comparação compatíveis

SHOW COLLATION [WHERE Charset = Qualificação do Charset];

3. Visualize as configurações relevantes do conjunto de caracteres no banco de dados MySQL

mostre variáveis ​​como 'character_set%';

Modificar conjunto de caracteres

1. Altere o conjunto de caracteres padrão

alterar o conjunto de caracteres padrão do nome da tabela do banco de dados utf8;

2. Especifique o conjunto de caracteres e o agrupamento ao criar a tabela

CREATE TABLE nome da tabela (informações da coluna)

[[PADRÃO] CHARACTER SET nome do conjunto de caracteres]

[COLLATE nome do agrupamento]]

3. Modifique o conjunto de caracteres especificado e as regras de classificação

ALTER TABLE nome da tabela

[[PADRÃO] CHARACTER SET nome do conjunto de caracteres]

[COLLATE nome do agrupamento]

Conjunto de caracteres e nível de agrupamento

O MySQL possui 4 níveis de conjuntos de caracteres e regras de comparação, a saber:

  • Nível do servidor: O conjunto de caracteres do servidor e o agrupamento podem ser especificados por meio de configurações character_set_servere variáveis ​​do sistema;collation_server
  • Nível do banco de dados: especifique o conjunto de caracteres e o agrupamento para o banco de dados;
  • Nível da tabela: Você pode especificar o conjunto de caracteres e o agrupamento da tabela;
  • Nível de coluna: Colunas diferentes na mesma tabela também podem ter conjuntos de caracteres e agrupamentos diferentes.

resumo

  1. Um conjunto de caracteres refere-se às regras de codificação para um intervalo de caracteres.
  2. Um agrupamento é uma regra para comparar o tamanho dos caracteres em um conjunto de caracteres.
  3. No MySQL, um conjunto de caracteres pode ter várias regras de agrupamento, existe uma regra de agrupamento padrão e uma regra de agrupamento deve corresponder a um conjunto de caracteres.

おすすめ

転載: juejin.im/post/7150285268188069924