Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Сортировка в алф. порядке не получается (Andruch_а78) 24/11/2003 - 00:17:52
      Re: Сортировка в алф. порядке не получается (walrus) 24/11/2003 - 00:49:49
      Re: Сортировка в алф. порядке не получается (Наталья) 25/11/2003 - 11:53:55

> Original message text:
> From: Andruch_а78 - 24/11/2003 - 00:17:52
> Subject:Сортировка в алф. порядке не получается
> -----------------
> Столкнулся с такой парадоксальной проблемой. MySQL (3.23.xx) не хочет сортировать данные в алфавитном порядке. У меня три столбца, первый столбец это ID autoincrement, второй это фамилия с именем (на русском - в одном столбце). И когда я делаю запрос к базе [select * from $tblname order by fam] он выводит таблицу вроде бы отсортированную по алф порядку (так как внизу встречаются буквы Щ, Ч, вверху А, Б,... и т.д.) но как то странно он сортирует. Сначало А, потом B, потом Б, потом опять В, потом Г, потом опять B и так далее. Более того, никак не пойму, почему он не различает русские и англ. буквы. Тоесть если я введу запрос [select * from $tblname where fam like '%a'] ("а" - русская) то выводит список, это понятно, ведь все фамилии и имена на русском., но если введу [select * from $tblname where fam like '%a'] ("a" - английская) то ТОЖЕ(!) выводит список. Как я думаю он путает англ. и русский алфавит и поэтому коряво сортирует. А может быть по другому? Как решить проблему?
>


From: Наталья - 25/11/2003 - 11:53:55
Subject:Сортировка в алф. порядке не получается
-----------------
Как то столкнулась с проблемой сортировки..Не знаю, то ли у вас или не то..Но когда решила ее написала себе памятку (на будущее типа :) ) Может она вам поможет :)

ПРОБЛЕМЫ С ССОРТИРОВКОЙ И РЕГИСТРОМ

Проблема такая. Данные BLOB правильно сортируются, но являются регистрозависимыми. Данные TEXT не являются регистрозависимыми, но и сортируются черти как. На сервере этой проблемы нет, к счастью. Только в локалке.
Решение: в файл C:/windows/my.ini прописываем соответсвующие кодировки. Файл должен выглядеть так:
[WinMySQLAdmin]
Server=C:/Progra~1/MySQL/bin/mysqld-nt.exe

[mysqld]
basedir=C:/Progra~1/MySQL
character-sets-dir = C:/Progra~1/MySQL/share/charsets
default-character-set = cp1251


[client]
basedir=C:/Progra~1/MySQL
character-sets-dir = C:/Progra~1/MySQL/share/charsets
default-character-set = cp1251

Поля, по которым используется регистронезависимый поиск делаем TEXT.
Все работает. Однако в скрипте выдается ошибка Character set 'cp1251' is not a compiled character set and is not specified in the 'C:\mysql\share\charset\Index' file.
Все работает, но ошибка выдается. Баг. Решается просто. У меня mysql в program files, а система видимо упорно хочет видеть файлы настроек чарсетов на C:\mysql. Просто копируем из програм файлс на с все что она просит. Проблемы больше нет. На будущее: Ставить MySql на С.



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
11819



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |