Maison  >  Article  >  base de données  >  Combien de caractères un champ VARCHAR(32) peut-il contenir dans une table MySQL UTF-8 ?

Combien de caractères un champ VARCHAR(32) peut-il contenir dans une table MySQL UTF-8 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 19:19:03523parcourir

How Many Characters Can a VARCHAR(32) Field Hold in a UTF-8 MySQL Table?

Longueurs MySQL VARCHAR et UTF-8 : clarifier la confusion

Lors de la création d'un champ VARCHAR(32) dans une table UTF-8 dans MySQL, la question se pose : cela représente-t-il une capacité de stockage de 32 octets ou 32 caractères ? La compréhension de cette distinction peut varier selon la version de MySQL.

Comprendre les longueurs VARCHAR

Dans MySQL 5.0.3 et versions ultérieures, les longueurs VARCHAR sont interprétées en unités de caractères , pas des octets. Cela signifie qu'un champ VARCHAR(32) peut contenir jusqu'à 32 caractères, quel que soit l'espace de stockage requis par chaque caractère.

Dans les versions antérieures de MySQL (4.1 et inférieures), les longueurs VARCHAR étaient interprétées en octets. Par conséquent, un champ VARCHAR(32) en UTF-8 permettrait jusqu'à 32 octets de données, qui pourraient potentiellement être stockées sous moins de 32 caractères, en fonction du codage des caractères.

UTF- 8 Codage de caractères

UTF-8 est un codage de caractères qui peut représenter un large éventail de caractères internationaux, y compris des caractères multi-octets. Cela signifie qu'un seul caractère codé en UTF-8 peut occuper plusieurs octets d'espace de stockage.

Longueur maximale de VARCHAR avec UTF-8

En raison de la possibilité de plusieurs Caractères UTF-8 de 8 octets, la longueur maximale effective d'une colonne VARCHAR dans MySQL 5.0.3 et versions ultérieures est soumise à la taille maximale de la ligne (65 535 octets) et au jeu de caractères utilisé. Pour le jeu de caractères UTF-8, un VARCHAR peut avoir une longueur maximale d'environ 21 844 caractères, car chaque caractère peut nécessiter jusqu'à trois octets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn