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_server
e 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
- Um conjunto de caracteres refere-se às regras de codificação para um intervalo de caracteres.
- Um agrupamento é uma regra para comparar o tamanho dos caracteres em um conjunto de caracteres.
- 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.