Дело было так:
Звонит пользователь и жалуется что сортировка вывода данных из MySQL неправильная, т.е. не по алфавиту.
Полез в php скрипты и вытащил запрос который так криво работал, примечательно что в order by стояло поле по которому нужно было сортировать по алфавиту, вобщем вытащил sql запрос и запустил его в утилите SQLyog. Запрос выдал данные но сортировка по указанному в order by полю не была адекватной.
Полез в свойства таблицы все тем же SQLyog, командой alter_table, смотрю, а на Collation установлено latin1_swedish_ci – вот почему не по русски сортировка! Меняю ее на cp1251_general_ci, жму кнопочку Alter_Table, радуюсь что быстро отделался. Но …
Не тут то было данные в поле испортились, каждая русская буква превратилась в знак вопроса, замена свойства Collation положения не исправило.
#$%^&*
Итого, т.к. данных для восстановления не было пришлось восстанавливать данные руками – 2 дня 3 человека, хотя нет вру не 3 человека, остальные 4 человека работали от 3 часа – 8 часов.
Почему такое произошло, я имею ввиду конвертацию в вопросики непонятно, я делал это не один раз на разных серверах – ничего подобного не происходило.
ЗЫ. чето дневник у меня получается о глюках MySQL
07 Фев 2008 в 10:43
order by binary(поле) asc
мне помогло с сортировкой по алфавиту. Попробуйте