Сортировка неанглийских имен с MySQL - PullRequest
5 голосов
/ 04 января 2012

Я пытаюсь отсортировать таблицу, содержащую греческие символы. Соответствующая английская версия таблицы сортируется (ASC и DESC) очень хорошо, каждый раз, когда вы нажимаете на заголовок таблицы.

Я искал на греческих форумах, и единственное предлагаемое решение - использовать ORDER BY BINARY. Фактически, многие люди говорили, что использование двоичного порядка решило их проблему. К сожалению, это не так в моем случае. Я знаю, что такая же проблема существует в таких языках, как немецкий, где использование умлаутов портит порядок, и вообще в языках со специальными символами. Если у кого-то есть идеи, как решить эту проблему, я был бы признателен.

1 Ответ

2 голосов
/ 04 января 2012

В соответствии с веткой на forums.mysql.com , в MySQL 6.0 вы можете сортировать греческие имена, если для charset вашей таблицы установлено значение utf8_general_ci.

create table t (s1 char(1) character set utf8 collate utf8_general_ci); 
insert into t values ('Α'),('Β'),('Γ'),('Δ'),('Ε'),('Ζ');
select * from t order by s1;

Выше должно возвращаться

+----+ 
| s1 | 
+----+ 
| Α  | 
| Β  | 
| Γ  | 
| Δ  | 
| Ε  | 
| Ζ  |
+----+ 
...