Samlingen har inget med lagringen att göra. Du måste ställa in teckenuppsättningen för att bestämma lagringskodningen. Sammanställningen styr hur jämförelse och sortering ska ske. Sorteringen måste vara medveten om teckenuppsättningen, men annars har det ingenting med teckenuppsättningen att göra.
För att svara på din fråga kan du använda iconv
att translittera texten och sedan jämföra den. Till exempel:
function compare($s1, $s2) {
return strcmp(
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
}
Detta är i princip vad MySql kommer att göra för dig, även om det förmodligen är snabbare och det kan ha en något annorlunda sorteringstabell än ISO-8859-1//TRANSLIT
. Inte helt säker på det.
Skulle förmodligen vara lättare att använda databasen dock, som andra redan har föreslagit.