Te estás perdiendo el punto sobre CHARACTER SET y COLLATION . UN CHARACTER SET es una colección de diferentes personajes. UNA COLLATION dice si tratar a los personajes como iguales -- piensa en A y a -- caracteres diferentes, pero tratados para ORDER BY y WHERE = , etc. como si fueran lo mismo.
mysql> SELECT 'K'='K' COLLATE utf8_unicode_ci;
+-----------------------------------+
| 'K'='K' COLLATE utf8_unicode_ci |
+-----------------------------------+
| 1 |
+-----------------------------------+
Entonces, en utf8_unicode_ci (o utf8mb4_unicode_ci), esos dos caracteres se consideran "iguales".
"Igual" es la prueba para UNIQUE llaves.
Establecer la COLLATION para la columna a lo que tenga sentido para usted.
- utf8mb4_unicode_ci para buenas comparaciones de la 'vida real', aparentemente incluyendo esta. K=k=Ķ=ķ
- utf8mb4_unicode_ci para comparaciones más simples. En particular, ninguna combinación de 2 caracteres coincide con codificaciones de 1 carácter. Se produce el plegado de la caja y la eliminación de acentos. K=k=Ķ=ķ
- utf8mb4_bin comprueba ciegamente los bits. Sin plegado de caja, etc. K k Ķ ķ son todos desiguales.
utf8mb4_latvian_ci es un poco diferente:K=k pero no igual a Ķ=ķ . Hay otras colaciones especializadas para otros idiomas (principalmente de Europa occidental).
Tu K se llama "LETRA K MAYÚSCULA LATINA DE ANCHO COMPLETO", por lo que es bastante razonable que se compare igual a la K latina .