Z MySQL dokumentacja :
Zestaw znaków to zestaw symboli i kodowań. zestawianie to zestaw reguł do porównywania znaków w zestawie znaków. Wyjaśnijmy rozróżnienie na przykładzie wyimaginowanego zestawu znaków.
Załóżmy, że mamy alfabet składający się z czterech liter:„A”, „B”, „a”, „b”. Nadaj każdej literze liczbę:„A” =0, „B” =1, „a” =2, „b” =3. Litera „A” jest symbolem, liczba 0 oznacza kodowanie „A”, a kombinacja wszystkich czterech liter i ich kodowania to zestaw znaków.
Załóżmy teraz, że chcemy porównać dwie wartości ciągu, „A” i „B”. Najprostszym sposobem, aby to zrobić, jest przyjrzenie się kodowaniu:0 dla „A” i 1 dla „B”. Ponieważ 0 jest mniejsze niż 1, mówimy, że „A” jest mniejsze niż „B”. To, co właśnie zrobiliśmy, to zastosowanie sortowania do naszego zestawu znaków. Sortowanie to zestaw reguł (w tym przypadku tylko jedna reguła):„porównaj kodowania”. Nazywamy to najprostszym ze wszystkich możliwych zestawień zestawieniem binarnym.
Ale co, jeśli chcemy powiedzieć, że małe i wielkie litery są równoważne? Wtedy mielibyśmy co najmniej dwie reguły:(1) traktować małe litery „a” i „b” jako równoważne „A” i „B”; (2) następnie porównaj kodowania. Nazywamy to zestawieniem bez uwzględniania wielkości liter. To trochę bardziej złożone niż zestawienie binarne.
W prawdziwym życiu większość zestawów znaków ma wiele znaków:nie tylko „A” i „B”, ale całe alfabety, czasem kilka alfabetów lub systemy pisma wschodniego z tysiącami znaków, wraz z wieloma specjalnymi symbolami i znakami interpunkcyjnymi. Również w prawdziwym życiu większość zestawień ma wiele reguł:nie tylko niewrażliwość na wielkość liter, ale także niewrażliwość na akcent ("akcent" jest dołączony do znaku, tak jak po niemiecku 'ö') i odwzorowanie wielu znaków (takie jak zasada, że 'ö' ='OE ' w jednym z dwóch niemieckich zestawień).