I\'m trying to convert some mysql tables from latin1 to utf8. I\'m using the following command, which seems to mostly work.
ALTER TABLE tablename CONVERT TO
UTF8_GENERAL_CI
is accent insensitive.
Use UTF8_BIN
or a language-specific collation.
The reason why the strings 'Drü'
and 'Dru'
evaluate as the same is that in the utf8_general_ci
collation, they count as "the same". The purpose of a collation for a character set is to provide a set of rules as to when strings are the same, when one sorts before the other, and so on.
If you want a different set of comparison rules, you need to choose a different collation. You can see the available collations for the utf8
character set by issuing SHOW COLLATION LIKE 'utf8%'
. There are a bunch of collations intended for text that is mostly in a specific language; there is also the utf8_bin
collation which compares all strings as binary strings (i.e. compares them as sequences of 0s and 1s).