Som teckenuppsättning, om du kan, definitivt UTF-8.
Som sammanställning - det är lite otäckt för språk med specialtecken. Det finns olika typer av sammanställningar. De kan alla lagra alla Umlauts och andra karaktärer, men de skiljer sig åt i hur de behandlar Umlauts i jämförelser, d.v.s. om
u = ü
är sant eller falskt; och i sortering (där i alfabeten Umlauts finns i sorteringsordningen).
För att göra en lång historia kort är din bästa insats antingen
utf8_unicode_ci
Det tillåter skiftlägesokänsliga sökningar; Den behandlar ß
som ss
och använder DIN-1 sortering. Tyvärr, som alla icke-binära Unicode-kollationer, behandlar den u = ü
vilket är en fruktansvärd olägenhet eftersom en sökning på "Muller" också kommer att returnera "Müller". Du måste komma runt det genom att ställa in en Umlaut-medveten kollation i realtid.
eller utf8_bin
Denna sammanställning har inte u = ü
problem men endast skiftlägeskänsliga sökningar är möjliga.
Jag är inte helt säker på om det finns några andra biverkningar av att använda den binära sammanställningen; Jag ställde en fråga om det här .
Denna mySQL-manualsida ger en bra överblick över de olika sammanställningarna och vilka konsekvenser de medför i vardagen.
Här är en allmän översikt över tillgängliga sorteringar i mySQL.