Вашият "проблем" е utf8_unicode_ci
съпоставяне. Това съпоставяне прави "разширения на знаци", което означава, че Umlauts и техните основни знаци се третират като едни и същи дори в =
сравнение :
A = Ä
O = Ö
...
Вторият пример на тази страница с ръководство на mySQL обяснява проблема:9.1.7.8. Примери за ефекта от съпоставянето
Това, което трябва да направите, е или да преминете към съпоставяне, което прави разлика между умлаут и основен знак (напр. utf8_general_ci
или utf8_general_bin
) или превключете към друго съпоставяне само когато правите сравнение:
select * from users where username like 'Björn' COLLATE utf8_general_ci;
това очевидно е по-бавно, тъй като преобразуването на съпоставянето трябва да се извърши за всеки запис по време на заявката.