← Повернутись до блогу

Вирішення проблеми сортування українських літер у 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

Як видно, рішення не складне. Не знаю, наскільки ефективне це рішення в рамках великих проєктів. У моєму випадку запит спрацьовує один раз на два тижні.

2018–2025 (c) Списуй але не один в один