URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 878
[ Назад ]

Исходное сообщение
"Сортировка по русским символам в mysql"

Отправлено z1 , 13-Ноя-02 15:45 
Почему-то как то очень странно работает сортировка по строкам из русских символов

вот так например
Гагарин
Абакан
Барнаул
Балашов
Агинское
Гатчина
Арзамас
Грозный
Архангельск
Брянск

ну как-то не совсем правильно :(
mysql стоит 3.23.43 под win2k


Содержание

Сообщения в этом обсуждении
"RE: Сортировка по русским символам в mysql"
Отправлено Stan , 14-Ноя-02 08:15 
дай пример запроса

"RE: Сортировка по русским символам в mysql"
Отправлено J , 14-Ноя-02 12:53 
под юниксам это решалось сборкой mysql с поддержкой нужных локалей, запуск сервера с нужной локалью --default-character-set, кроме того, для переключения на cp1251 была специаьлная команда
CHARACTER SET character_set_name | DEFAULT
This maps all strings from and to the client with the given mapping. Currently the only option for character_set_name is cp1251_koi8, but you can easily add new mappings by editing the `sql/convert.cc'  le in the MySQL source distribution. The default mapping can be restored by using a character_set_ name value of DEFAULT. Note that the syntax for setting the CHARACTER SET option di ers from the syntax for setting the other options.

"RE: Сортировка по русским символам в mysql"
Отправлено z1 , 14-Ноя-02 18:59 
У меня запрос такой
SELECT field1 FROM table1 ORDER BY field1 ASC;

А можно поподробнее о SET CHARACTER SET вид_кодировки

Я чего-то не смог включить cp1251
ругается он чего-то


"RE: Сортировка по русским символам в mysql"
Отправлено J , 15-Ноя-02 11:32 
>У меня запрос такой
>SELECT field1 FROM table1 ORDER BY field1 ASC;
>
>А можно поподробнее о SET CHARACTER SET вид_кодировки
>
>Я чего-то не смог включить cp1251
>ругается он чего-то


это для переключения при запуске сервера с koi8 - локалью
попробуйте сервер запустить с --default-character-set=cp1251


"RE: Сортировка по русским символам в mysql"
Отправлено Realex , 15-Ноя-02 19:03 
Есть два варианта.

Первый:
после соединения с БД, дать команду
SET CHARACTER SET cp1251

Второй:
запускать сервер с параметрами
--character-sets-dir=/usr/local/mysql/share/mysql/charsets
--default-character-set=cp1251

это более надежный способ.


"RE: Сортировка по русским символам в mysql"
Отправлено z1 , 20-Ноя-02 12:38 
>Есть два варианта.
>
>Первый:
>после соединения с БД, дать команду
>SET CHARACTER SET cp1251
>
>Второй:
>запускать сервер с параметрами
>--character-sets-dir=/usr/local/mysql/share/mysql/charsets
>--default-character-set=cp1251
>
>это более надежный способ.
SET CHARACTER SET cp1251
у меня на этот запрос выдается
Unknown character set: 'cp1251'
а если koi8-r то работает но все равно не сортирует нормально

"RE: Сортировка по русским символам в mysql"
Отправлено J , 20-Ноя-02 12:53 
>>Есть два варианта.
>>
>>Первый:
>>после соединения с БД, дать команду
>>SET CHARACTER SET cp1251
>>
>>Второй:
>>запускать сервер с параметрами
>>--character-sets-dir=/usr/local/mysql/share/mysql/charsets
>>--default-character-set=cp1251
>>
>>это более надежный способ.
>SET CHARACTER SET cp1251
>у меня на этот запрос выдается
>Unknown character set: 'cp1251'
>а если koi8-r то работает но все равно не сортирует нормально


ну так запустите базу с кодировкой koi8 и выполните
set character set cp1251_koi8


"RE: Сортировка по русским символам в mysql"
Отправлено ReAlex , 21-Ноя-02 15:36 
>у меня на этот запрос выдается
>Unknown character set: 'cp1251'
>а если koi8-r то работает но все равно не сортирует нормально

Сорри! Ошибся, должно быть конечно-же cp1251_koi8


"RE: Сортировка по русским символам в mysql"
Отправлено J , 22-Ноя-02 11:49 
>>у меня на этот запрос выдается
>>Unknown character set: 'cp1251'
>>а если koi8-r то работает но все равно не сортирует нормально
>
>Сорри! Ошибся, должно быть конечно-же cp1251_koi8


ну так работает или нет?
у меня в незапамятные времена все данные, правда, хранились под nt4 в koi8r, сортировалось нормально, с тех пор виндов нету