Сличение не имеет ничего общего с хранилищем. Вам необходимо установить кодировку, чтобы определить кодировку хранилища. Сортировка определяет, как должно происходить сравнение и сортировка. Параметры сортировки должны знать кодировку, но в противном случае они не имеют ничего общего с кодировкой.
Чтобы ответить на ваш вопрос, вы можете использовать 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
. Не совсем уверен в этом.
Возможно, было бы проще использовать базу данных, как уже предлагали другие.