Váš "problém" je utf8_unicode_ci
řazení. Toto řazení provádí „rozšíření znaků“, což znamená, že přehlásky a jejich základní znaky jsou považovány za stejné i v =
srovnání :
A = Ä
O = Ö
...
Druhý příklad na této manuálové stránce mySQL vysvětluje problém:9.1.7.8. Příklady efektu řazení
Co byste museli udělat, je buď přepnout na řazení, které rozlišuje mezi přehláskou a základním znakem (např. utf8_general_ci
nebo utf8_general_bin
) nebo přepněte na jiné řazení pouze při porovnávání:
select * from users where username like 'Björn' COLLATE utf8_general_ci;
to je samozřejmě pomalejší, protože převod řazení musí být proveden pro každý záznam během dotazu.