Et c'est la réponse. Si vous utilisez utf8_general_ci
(en fait cela s'applique à tous les utf_..._[ci|cs]
) la collation puis les signes diacritiques sont ignorés en comarison, ainsi :
SELECT "e" = "é" AND "O" = "Ó" AND "ä" = "a"
Résultats en 1
. Les index utilisent également le classement.
Si vous voulez faire la distinction entre ą
et a
puis utilisez utf8_bin
classement (gardez à l'esprit qu'il fait également la distinction entre les caractères majuscules et minuscules).
Soit dit en passant, le nom et l'âge ne garantissent aucune unicité.