web-dev-qa-db-fra.com

Utf8_general_ci ou utf8mb4 ou ...?

utf16 ou utf32? J'essaie de stocker du contenu dans de nombreuses langues. Certaines langues utilisent des polices double largeur (par exemple, les polices japonaises sont souvent deux fois plus larges que les polices anglaises). Je ne sais pas quel type de base de données je devrais utiliser. Toute information sur les différences entre ces quatre jeux de caractères ...

28
Wolfpack'08

utf32 Et utf8mb4 De MySQL (ainsi que l'UTF-8 standard) peuvent stocker directement n'importe quel caractère spécifié par Unicode; le premier est de taille fixe à 4 octets par caractère tandis que le second est compris entre 1 et 4 octets par caractère.

utf8mb3 Et l'original utf8 Ne peuvent stocker que les 65 536 premiers points de code, qui couvriront CJVK (chinois, japonais, vietnamien, coréen), et utiliser 1 à 3 octets par caractère.

utf16 Utilise 2 octets pour les 65 536 premiers points de code et 4 octets pour tout le reste.

Quant aux polices, c'est strictement une chose visuelle.

"Le minimum absolu que tous les développeurs de logiciels doivent absolument et positivement connaître à propos de l'Unicode et des jeux de caractères (pas d'excuses!)"

Voir aussi documentation MySQL pour la prise en charge Unicode .

40