Вирішення проблеми сортування українських літер у MySQL
August 2018 // 1 хвилина на читання // 167 переглядів
Зіткнувся з проблемою сортування українських літер у базі MySQL. Справа в тому, що MySQL сортує український текст, починаючи з літер «І, Є», після них уже сортування виконується нормально.
Вирішенням цієї проблеми стало визначення кодування в SQL-запиті.
Базовий запит:
SELECT `name` FROM `table` WHERE `status`='1' ORDER BY `name` ASC
Запит з правильно працюючим сортуванням українською мовою:
SELECT `name` FROM `table` WHERE `status`='1' ORDER BY `name` COLLATE utf8_unicode_ci
Як видно, рішення не складне. Не знаю, наскільки ефективне це рішення в рамках великих проєктів. У моєму випадку запит спрацьовує один раз на два тижні.