Проблем със сортирането в MySQL

2 отговора 0 прегледа
#1

Проблем със сортирането в MySQL

Здравейте,

след като вече 2 часа се мъча и все още не мога да намеря решение, реших да питам тук. Ето какъв е проблема. В една таблица имам колона "name" и 7 реда:
А
Ь
С
З
Г
Я
И

при сортиране с ORDER BY name получавам това:
А
С
Ь
Я
И
З
Г

таблицата и самото ми поле са UTF8 и utf8_general_ci

След като четах и пробвах какво ли не (set names, binary, други схемни някакви), така и не успях да го накарам да сортира правилно.

Версия на сървъра: 5.0.67-community-nt
Набор от знаци на MySQL: UTF-8 Unicode (utf8)

Web server
Apache/2.2.10 (Win32) PHP/5.2.6
Версия на клиента за MySQL: 5.0.51a

There is OnLy One!
Отговор
в отговор на RRStoyanov #2

Re: Проблем със сортирането в MySQL

Проблемът явно е в твоя телевизор:

mysql> SELECT * FROM t;
+------+
| name |
+------+
| А |
| Ь |
| С |
| З |
| Г |
| Я |
| И |
+------+
7 rows in set (0.00 sec)

mysql> SELECT * FROM t ORDER BY name;
+------+
| name |
+------+
| А |
| Г |
| З |
| И |
| С |
| Ь |
| Я |
+------+
7 rows in set (0.00 sec)

SHOW CREATE TABLE t;

CREATE TABLE `t` (
`name` char(4) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

salle.online.bg/sig
Отговор
в отговор на salle #3

Re: Проблем със сортирането в MySQL

Проблемът е при самият импорт. Когато импортвам директно от csv-то, нещо не ми се получава. Но когато копирам и изъпня заявките с 'SET NAMES UTF8' и 'SET CHARACTER SET UTF8'; проблем няма. Интересна работа.

There is OnLy One!
Отговор