Проблемы с сортировкой

Avenus

Under Glory Yield
Проблемы с сортировкой

Привет, всем! :)

Таблица:
PHP:
geo_cities // все данные в UTF-8
Поле:
PHP:
city_name varchar(200) utf8_unicode_ci
Запрос:
PHP:
select * from geo_cities order by city_name
Результат:
PHP:
....
84457034	Четук (Теучежский р-н)
84457036	Шенджий (Тахтамукайский р-н)
84458085	17 лет Октября (Майкопский р-н)
84458086	50 лет ВЛКСМ (Шовгеновский р-н)
84456914	Абадзехская (Майкопский р-н)
84456915	Адамий (Красногвардейский р-н)
84458087	Адыгеи (Теучежский р-н)
  576862	Адыгейск
84458088	Апостолиди (Тахтамукайский р-н)
....
Почему такая хрень? :)
 

Фанат

oncle terrible
Команда форума
либо данные не в UTF-8, либо city_name не utf8_unicode_ci

хотя бывают и экзотические случаи.
один кадр тут долго удивлялся, почему у него строки "1 музыка" "2 косплей", "3 юмор" сортируются не по алфавиту
 

Avenus

Under Glory Yield
Не, серьезно, данные в UTF-8 и все остальное в порядке.
Во всех регионах правильно сортируется, а в этом херня какая-то.

-~{}~ 06.03.10 22:57:

Прикольно то, что перезаписал тоже самое в базе, т.е. просто открыл для редактирования и сохранил - сразу на место встает.
Почему такое? :)
 

Фанат

oncle terrible
Команда форума
потому что человек - это не компьютер.
и если он д у м а е т, что у него все в порядке - это еще не значит, что у него действительно все в порядке.
 

Avenus

Under Glory Yield
Т.е. в таблице с кодировкой в utf8 в поле со сравнением utf8_unicode_ci были записаны данные в другой кодировке?
Как? о_О
 

Фанат

oncle terrible
Команда форума
ну я-то откуда знаю?
я могу только логически рассуждать.
если данные и кодировка указаны верно, то все сортируется правильно.
в чудеса я не верю
остается только одно объяснение - что-то все-таки было неверно.

это очень несложные построения, доступные младшему шшкольнику. и я не понимаю, почему их надо приводить взрослому, судя по всему, программисту.
 

Avenus

Under Glory Yield
Фaнaт, это и так ясно что было неверно :)
Неясно, как могли записать неправильные данные в правильную таблицу?

-~{}~ 06.03.10 23:43:

baev, точно! Увидел только ;)
 

Фанат

oncle terrible
Команда форума
толку сейчас гадать, если уже все правильно.

в чем проблема-то была? только два слова сверху были напривильные или все целиком сортировалось криво?
 

Avenus

Under Glory Yield
Только те, что сверху неверно сортировались.
В них были у некоторых пробелы вначале, а у некоторых латинские символы вместо русских.
Как "фaнaт" я написал сейчас :)
Видимо база кривая такая была изначально, а я-то поверил ей :D
 
Сверху