Yes, this is standard behaviour in the non-language-specific unicode collations.
9.1.13.1. Unicode Character Sets
To further illustrate, the following equalities hold in both utf8_general_ci and utf8_unicode_ci (for the effect this has in comparisons or when doing searches, see Section 9.1.7.7, “Examples of the Effect of Collation”):
Ä = A
Ö = O
Ü = U
See also Examples of the effect of collation
A workaround would be using a different collation for the comparison, I'm looking up some links right now.
Update:
I can't test myself right now but applying the utf8_bin
collation to your SELECT should block the implicit Umlaut conversion for that query only:
select * from topics where name='Harligt' COLLATE utf8_bin;
it becomes more difficult if you want to do a case-insensitive LIKE
but not have the umlaut conversion. I know no mySQL collation that is case insensitive and does not do this kind of implicit umlaut conversion. If anybody knows one, I'd be interested to hear about it.
Related: