@ newtower имел хорошую отправную точку, но ни он, ни «Сообщество» не поняли, что это не дало результатов. Поэтому я даю ответ, который должен «исправить» это:
unicode_ci (и практически все другие сопоставления):
SET NAMES utf8 COLLATE utf8_unicode_ci;
SELECT GROUP_CONCAT(l SEPARATOR '=') AS gc
FROM (
SELECT 'A' as l UNION ALL
SELECT 'á' as l UNION ALL
SELECT 'A' as l ) ls
GROUP BY l
ORDER BY gc;
+--------+
| gc |
+--------+
| A=á=A |
+--------+
Бен:
SET NAMES utf8 COLLATE utf8_bin;
SELECT GROUP_CONCAT(l SEPARATOR '=') AS gc
FROM (
SELECT 'A' as l UNION ALL
SELECT 'á' as l UNION ALL
SELECT 'A' as l ) ls
GROUP BY l
ORDER BY gc;
+------+
| gc |
+------+
| A=A |
| á |
+------+
(Вы можете добавить DISTINCT
в GROUP_CONCAT
, чтобы избежать дублирования A
.)
А вот полный список сопоставлений utf8 (с использованием этой техники): http://mysql.rjweb.org/utf8_collations.html
Предлагаем вам нажать «Влияет на меня» на https://bugs.mysql.com/bug.php?id=58797