Mit UTF-8 hat das eher wenig zu tun (nutze zwar kein mySql, aber das ist auf einer anderen Ebene).
Das ist die Frage, wie mit Groß/Kleinschreibung und Akzenten umgegangen werden soll:
Da gibts diverse Kombinationen (Daten vom MS-SqlServer, ist aber relativ standardisiert) - alleine für Latin1_General:
QUOTE Latin1_General_BIN Latin1-General, binary sort
Latin1_General_BIN2 Latin1-General, binary code point comparison sort
Latin1_General_CI_AI Latin1-General, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Latin1_General_CI_AI_WS Latin1-General, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Latin1_General_CI_AI_KS Latin1-General, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Latin1_General_CI_AI_KS_WS Latin1-General, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Latin1_General_CI_AS Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Latin1_General_CI_AS_WS Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Latin1_General_CI_AS_KS Latin1-General, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Latin1_General_CI_AS_KS_WS Latin1-General, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Latin1_General_CS_AI Latin1-General, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Latin1_General_CS_AI_WS Latin1-General, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Latin1_General_CS_AI_KS Latin1-General, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Latin1_General_CS_AI_KS_WS Latin1-General, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Latin1_General_CS_AS Latin1-General, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Latin1_General_CS_AS_WS Latin1-General, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Latin1_General_CS_AS_KS Latin1-General, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Latin1_General_CS_AS_KS_WS Latin1-General, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Welche funktioniert, sieht man hier:
QUOTE Select 'Latin1_General_CI_AI',
Case When N'ø' = N'o' Collate Latin1_General_CI_AI Then 1 Else 0 End
Union All
Select 'Latin1_General_CI_AS',
Case When N'ø' = N'o' Collate Latin1_General_CI_AS Then 1 Else 0 End
Union All
Select 'Latin1_General_CI_BIN',
Case When N'ø' = N'o' Collate Latin1_General_BIN Then 1 Else 0 End
liefert:
QUOTE Latin1_General_CI_AI 1
Latin1_General_CI_AS 0
Latin1_General_CI_BIN 0
AI - accent-insensitive - ist das Stichwort. ø und o unterscheiden sich nur im Akzent. Nimmt man eine Sortierung, die Accents ignoriert, dann funktioniert das.