it-swarm.dev

Utf8_general_ci ou utf8mb4 ou ...?

utf16 ou utf32? Estou tentando armazenar conteúdo em vários idiomas. Alguns dos idiomas usam fontes de largura dupla (por exemplo, fontes japonesas costumam ter o dobro da largura de fontes em inglês). Não tenho certeza de que tipo de banco de dados devo usar. Qualquer informação sobre as diferenças entre esses quatro caracteres ...

28
Wolfpack'08

O MySQL utf32 E utf8mb4 (Assim como o UTF-8 padrão) podem armazenar diretamente qualquer caractere especificado pelo Unicode; o primeiro tem tamanho fixo de 4 bytes por caractere, enquanto o último tem entre 1 e 4 bytes por caractere.

utf8mb3 E o original utf8 Podem armazenar apenas os primeiros 65.536 pontos de código, que abrangem CJVK (chinês, japonês, Vietnã, coreano) e usam de 1 a 3 bytes por caractere.

utf16 Usa 2 bytes para os primeiros 65.536 pontos de código e 4 bytes para todo o resto.

Quanto às fontes, isso é estritamente visual.

"O mínimo absoluto que todo desenvolvedor de software deve absolutamente saber positivamente sobre Unicode e conjuntos de caracteres (sem desculpas!)"

Veja também documentação do MySQL para suporte a Unicode .

40
Ignacio Vazquez-Abrams