Odnosząc się do http://mysql.rjweb.org/utf8_collations.html
, widzę, że ı=i
w 3 zestawieniach:utf8_general_ci, utf8_general_mysql500_ci, utf8_turkish_ci. Jednak dla tureckiego zestawienia I=ı
sortuje przed innymi akcentowanymi ja. We wszystkich innych zestawieniach ı
sortuje mimo wszystko ja, jakby była traktowana jako osobna litera.
Tymczasem İ=I
we wszystkich zestawieniach z wyjątkiem utf8_turkish_ci.
Fabuła zagęszcza się dzięki MySQL 8.0. utf8mb4_tr_0900_ai_ci (tylko) ma następującą kolejność:
I=Ì=Í=Î=Ï=Ĩ=Ī=Ĭ=Į=ı sort before i=ì=í=î=ï=ĩ=ī=ĭ=į=İ
Tymczasem ä=Ä
i pasują do większości innych akcentowanych A dla większości zestawień (w tym tureckich).
Konkluzja:Wygląda na to, że utf8[mb4]_general_ci to jedyne zestawienie w wersji 5.7 lub 8.0, które zawsze traktuje kropkowane-i (lub kropkowane-I) jako 'regularne i/I i jednocześnie ignoruj umlauty.
Zastrzeżenie:„Ogólne” zestawienia nie testują więcej niż jednego znaku na raz. Oznacza to, że „bez odstępów umlaut” plus samogłoska nie będą traktowane jako równe kombinacji.
W tym łączu... Jeden znak æ
jest posortowany tak samo jak dwie litery ae
dla niektórych zestawień. Wskazuje na to:Aa ae=æ az
. W około połowie pozostałych zestawień znak æ
jest traktowany jako osobny list; jest to oznaczone jako po az
i przed b
. Lub nawet po zz
dla zestawień skandynawskich. Ta koncepcja oddzielnych liter czasami odnosi się do par liter, na przykład cs
(węgierski) i ch
(tradycyjny hiszpański).