Ditt "problem" är utf8_unicode_ci
sammanställning. Den sammanställningen gör "teckenexpansions", vilket betyder att Umlauts och deras bastecken behandlas som samma även i en =
jämförelse :
A = Ä
O = Ö
...
Det andra exemplet på denna mySQL-manualsida förklarar problemet:9.1.7.8. Exempel på effekten av sortering
Vad du skulle behöva göra är att antingen byta till en sammanställning som skiljer mellan omljud och bastecken (t.ex. utf8_general_ci
eller utf8_general_bin
) eller byt till en annan sortering endast när du gör jämförelsen:
select * from users where username like 'Björn' COLLATE utf8_general_ci;
detta är uppenbarligen långsammare, eftersom sorteringskonverteringen måste göras för varje post under sökningen.