Mysql
 sql >> Base de données >  >> RDS >> Mysql

Que signifient exactement jeu de caractères et classement ?

Depuis MySQL docs :

Un jeu de caractères est un ensemble de symboles et d'encodages. Une collation est un ensemble de règles permettant de comparer des caractères dans un jeu de caractères. Éclaircissons la distinction avec un exemple de jeu de caractères imaginaires.

Supposons que nous ayons un alphabet avec quatre lettres :'A', 'B', 'a', 'b'. Nous donnons à chaque lettre un numéro :'A' =0, 'B' =1, 'a' =2, 'b' =3. La lettre 'A' est un symbole, le chiffre 0 est le codage pour 'A', et la combinaison des quatre lettres et de leurs codages est un jeu de caractères.

Supposons maintenant que nous voulions comparer deux valeurs de chaîne, 'A' et 'B'. La façon la plus simple de le faire est de regarder les encodages :0 pour 'A' et 1 pour 'B'. Comme 0 est inférieur à 1, nous disons que "A" est inférieur à "B". Maintenant, ce que nous venons de faire est d'appliquer une collation à notre jeu de caractères. La collation est un ensemble de règles (une seule règle dans ce cas) :"comparer les encodages". Nous appelons ce classement le plus simple de tous les classements possibles un classement binaire.

Mais que se passe-t-il si nous voulons dire que les lettres minuscules et majuscules sont équivalentes ? Nous aurions alors au moins deux règles :(1) traiter les lettres minuscules 'a' et 'b' comme équivalentes à 'A' et 'B'; (2) puis comparer les encodages. Nous appelons cela un classement insensible à la casse. C'est un peu plus complexe qu'un classement binaire.

Dans la vraie vie, la plupart des jeux de caractères comportent de nombreux caractères :pas seulement « A » et « B », mais des alphabets entiers, parfois plusieurs alphabets ou des systèmes d'écriture orientaux avec des milliers de caractères, ainsi que de nombreux symboles spéciaux et signes de ponctuation. De plus, dans la vraie vie, la plupart des classements ont de nombreuses règles :non seulement l'insensibilité à la casse, mais aussi l'insensibilité aux accents (un « accent » est une marque attachée à un caractère comme en allemand « ö ») et les mappages à plusieurs caractères (comme la règle selon laquelle « ö » =« OE ' dans l'un des deux classements allemands).