Вот запрос MySQL:
SELECT last_name FROM users ORDER BY last_name
Мы получаем все эти данные в PHP, а затем запускаем:
$prior = NULL; do { $current = array_shift($results); assert($current >= $prior); $prior = $current; } while ($current !== NULL);
В настоящее время это утверждение не выполняется для определенных ресурсов. Можно ли добавить предложение COLLATE в запрос MySQL выше, чтобы абсолютно гарантировать утверждение PHP?
Я попробовал:
ORDER BY email COLLATE utf8_bin
результате COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1'
Другие примечания:
latin1
echo ('a' == 'A') ? 'a==A ' : 'a <> A '; echo ('a' == 'á') ? 'a==á ' : 'a <> á ';
Оба вернулись <>
, поэтому я вывел, что PHP действует как latin1_bin
(или _bin
любой кодировки, которую вы имеете).