проблем при сортиране с mysql и UTF-8

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

проблем при сортиране с mysql и UTF-8

Здравейте, имам следния проблем:

Mysql-ска база данни която е сетната с колация utf8_general_ci, в нея - таблица city полетата на които са сетнати със същата колация. Правя най-елементарна заявка към mysql базата - "SELECT * FROM city ORDER BY name DESC", но резултата не е това което искам - сортиране по поле name, а следния:

Вехтово
Варна
Враца
Бургас
Шумен
София
Силистра
Перник
Плевен
Пазарджик

Ако някой има някаква идея, моля да подскаже :)

Отговор
в отговор на вeнци #2

Re: проблем при сортиране с mysql и UTF-8

Търсих и аз решение на същия проблем, в моя случай са имена на растения но все тая.. Проблема се оправя частично с едно BINARY
"SELECT * FROM city ORDER BY BINARY name DESC" Обаче при мен ги разбърква след втората буква т.е. реди ги по първи две букви и третите вече ги обърква и става нещо такова, което пак е по добре от нищо де :
Бряст
Котешки нокът
Коприва
Царевица
Финап

Отговор
в отговор на вeнци #3

Re: проблем при сортиране с mysql и UTF-8

Защо не си направиш custom подреждане.

Много по-добре е от колкото да сортираш по азбучен ред.
просто една колона повече. `order` int not null

след това може да си сложиш на първо място София, на второ Пловдив и т.н.
заявката ще ти е нещо от рода на:

SELECT * FROM city ORDER BY `order`

Break The UnBreakable
Отговор