Uw "probleem" is de utf8_unicode_ci
sortering. Die sortering doet "tekenuitbreidingen", wat betekent dat umlauts en hun basistekens als hetzelfde worden behandeld zelfs in een =
vergelijking :
A = Ä
O = Ö
...
Het tweede voorbeeld op deze mySQL-handleiding legt het probleem uit:9.1.7.8. Voorbeelden van het effect van sorteren
Wat u zou moeten doen, is ofwel overschakelen naar een sortering die onderscheid maakt tussen umlaut en basisteken (bijv. utf8_general_ci
of utf8_general_bin
) of schakel alleen over naar een andere sortering wanneer u de vergelijking maakt:
select * from users where username like 'Björn' COLLATE utf8_general_ci;
dit is duidelijk langzamer, omdat de sorteerconversie voor elk record moet worden gedaan tijdens de zoekopdracht.