Zestawienie nie ma nic wspólnego z przechowywaniem. Musisz ustawić zestaw znaków, aby określić kodowanie magazynu. Porównywanie określa sposób porównywania i sortowania. Porównywanie musi uwzględniać zestaw znaków, ale poza tym nie ma nic wspólnego z zestawem znaków.
Aby odpowiedzieć na swoje pytanie, możesz użyć iconv
transliterować tekst, a następnie go porównać. Na przykład:
function compare($s1, $s2) {
return strcmp(
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
}
To jest w zasadzie to, co MySql zrobi dla Ciebie, chociaż prawdopodobnie jest szybszy i może mieć nieco inną tabelę sortowania niż ISO-8859-1//TRANSLIT
. Nie jestem tego do końca pewien.
Prawdopodobnie łatwiej byłoby jednak korzystać z bazy danych, jak już sugerowali inni.