Haciendo referencia a http://mysql.rjweb.org/utf8_collations.html
, veo que ı=i
en 3 intercalaciones:utf8_general_ci, utf8_general_mysql500_ci, utf8_turkish_ci. Sin embargo, para la colación turca, I=ı
ordena antes que otros yoes acentuados. En todas las demás intercalaciones ı
ordena después de todos los I, como si se tratara como una letra separada.
Mientras tanto İ=I
en todas las intercalaciones excepto utf8_turkish_ci.
La trama se complica con MySQL 8.0. utf8mb4_tr_0900_ai_ci (solo) tiene este orden:
I=Ì=Í=Î=Ï=Ĩ=Ī=Ĭ=Į=ı sort before i=ì=í=î=ï=ĩ=ī=ĭ=į=İ
Mientras tanto ä=Ä
y coinciden con la mayoría de las otras A acentuadas para la mayoría de las intercalaciones (incluidas las turcas).
Conclusión:parece que utf8[mb4]_general_ci es la única intercalación en 5.7 u 8.0 que siempre tratará una i sin puntos (o una I con puntos) igual a una 'i/I normal y al mismo tiempo ignorar las diéresis.
Advertencia:las intercalaciones "generales" no prueban más de un carácter a la vez. Es decir, una "diéresis sin espacio" más una vocal no se tratará como igual a la combinación.
En ese enlace... El único carácter æ
se ordena igual que las dos letras ae
para algunas colaciones. Eso se indica mediante:Aa ae=æ az
. En aproximadamente la mitad de las otras intercalaciones, el carácter æ
se trata como una carta separada; esto se indica por estar después de az
y antes de b
. O incluso después de zz
para colaciones escandinavas. Este concepto de letra separada a veces se aplica a pares de letras, por ejemplo cs
(húngaro) y ch
(español tradicional).