![]() |
Как сортировать в MySQl?
Хранится списочек скажем ресторанов в MySQL есть поле "name" вот по ниму и хочу сортировать.
делаю так. SELECT HDID name PID FROM data ORDER BY name НО названия там на русском и как- то странно они сортируются... слова начинающиеся на "в" стоят перед "а" короче не по русскому алфавиту точно. Не знаю как это исправить. Помогите люди добрые!! P.S. "ASC" тоже приписывал |
Кодировку нужно поменять (напр: character_set=cp1251). Меняется SET или через шел --set-variable .
|
я в этом не шарю обьясни поподробнее
(напр: character_set=cp1251). ?? Это где написать? я через PHP-Admin лазаю в базе |
Также в MySQL, начиная с версии 4.1, можно юзать collation для этих целей
Character Sets and Collations in General |
да вот использовать только это как..?
|
shuron
Заходи по ссылке и читай, там все подробно расписано |
Ага вроде разобрался...
но там вроде только можно на новую таблицу применить Charakter Set типа: CREATE TABLE t1 ( c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci ) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin; а у меня уже создана и заполнена.. поменять никак? Добавлено через 1 минуту: ой или вот это оно и есть? ALTER TABLE table_name [DEFAULT CHARACTER SET character_set_name] [COLLATE collation_name] |
shuron
Аха, оно и есть - через ALTER |
значит в моем случе сделать разок такой запрос....?
ALTER TABLE restourants DEFAULT CHARACTER SET cp1251 Добавлено через 3 минуты: ой да мне даже можно не менять ничего, а так "селектить" просто.. SELECT k FROM t1 ORDER BY k COLLATE cp1251; или? |
| Часовой пояс GMT +4, время: 18:41. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.