De sortering heeft niets te maken met de opslag. U moet de tekenset instellen om de opslagcodering te bepalen. De sortering bepaalt hoe vergelijking en sortering moet gebeuren. De sortering moet tekenset bewust zijn, maar verder heeft het niets te maken met de tekenset.
Om uw vraag te beantwoorden, kunt u iconv
. gebruiken om de tekst te transcriberen en deze vervolgens te vergelijken. Bijvoorbeeld:
function compare($s1, $s2) {
return strcmp(
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
}
Dit is eigenlijk wat MySql voor u zal doen, hoewel het waarschijnlijk sneller is en een iets andere sorteertabel kan hebben dan ISO-8859-1//TRANSLIT
. Daar ben ik niet helemaal zeker van.
Het zou echter gemakkelijker zijn om de database te gebruiken, zoals anderen al hebben gesuggereerd.