照合はストレージとは何の関係もありません。ストレージエンコーディングを決定するには、文字セットを設定する必要があります。照合は、比較と並べ替えがどのように行われるかを決定します。照合は文字セットを認識している必要がありますが、それ以外の場合は文字セットとは関係ありません。
質問に答えるには、iconv
を使用できます テキストをトランスリッターしてから比較します。例:
function compare($s1, $s2) {
return strcmp(
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
}
これは基本的にMySqlが行うことですが、おそらくより高速であり、ISO-8859-1//TRANSLIT
とはわずかに異なる照合テーブルを持つ可能性があります。 。それについては完全にはわかりません。
他の人がすでに示唆しているように、データベースを使用する方がおそらく簡単でしょう。