Вот запрос 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?
Материал, который я пробовал:
- Приведенный выше код не работает для некоторых не-ASCII-входов
-
ORDER BY email COLLATE utf8_bin
привело кCOLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1'
- Возможно, это дубликат Какая наилучшая сортировка для MySQL с PHP?, но это показалось более субъективным, я ищу конкретный ответ на конкретный проблема
Другие примечания:
- Если это имеет значение, этот столбец
latin1
- Моя библиотека обложек PHP PDO https://github.com/fulldecent/thin-pdo