Du mangler pointen med CHARACTER SET og COLLATION . Et CHARACTER SET er en samling af forskellige karakterer. En COLLATION siger, om tegnene skal behandles som lige -- tænk A og a -- forskellige tegn, men behandlet for ORDER BY og WHERE = osv. som værende det samme.
mysql> SELECT 'K'='K' COLLATE utf8_unicode_ci;
+-----------------------------------+
| 'K'='K' COLLATE utf8_unicode_ci |
+-----------------------------------+
| 1 |
+-----------------------------------+
Så i utf8_unicode_ci (eller utf8mb4_unicode_ci), anses disse to tegn for at være "lige".
"Lige" er testen for UNIQUE nøgler.
Indstil COLLATION for kolonnen til hvad der giver mening for dig.
- utf8mb4_unicode_ci til gode sammenligninger fra det virkelige liv, tilsyneladende også denne. K=k=Ķ=ķ
- utf8mb4_unicode_ci for mere enkeltsindede sammenligninger. Især ingen 2-tegnskombinationer matcher 1-tegns-kodninger. Sagsfoldning og accentstribning forekommer. K=k=Ķ=ķ
- utf8mb4_bin tjekker blindt bitsene. Ingen kassefoldning osv. K k Ķ ķ er alle ulige.
utf8mb4_latvian_ci er lidt anderledes:K=k men ikke lig med Ķ=ķ . Der er andre specialiserede sammenstillinger for andre sprog (for det meste vesteuropæiske).
Din K kaldes "FULLWIDTH LATIN CAPITAL LETTER K", så det er ret rimeligt, at det sammenlignes med latinsk K .