![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 3 Всего: 4 |
Добрый день, уважаемые.
Конкретно замкнуло... Либо совсем разрушилась база данных, либо проблемы в скрипте либо еще что... Суть проблемы. Как известно, отношение порядка на множестве слов задается в соответсвии с правилом лексикографического порядка. Подробно объяснять, думаю, не нужно - понятие общеупотребительное. Т.е. меньше или больше одно слово другого задается тем, как построен алфавит, из которых эти слова составляются. Рассмотрим только алфавит, состоящий из цифр и латинских букв. На простых алфавитах, типа 1..9A..Za..z (порядок ascii символов) очевидно, слово 'Mama' меньше слова 'mama' (большая буква 'M' в алфавите расположена левее маленькой 'm'. А теперь вопрос. Встречался ли кто-нибудь (есть ли такие кодовые таблицы за исключением UTF-8) с алфавитами типа: 1..9AaBb..Zz ? а вот так: A..Za-z1..9 ? или более интересно: aAbB..zZ1..9 ? Или еще как? Может про наличие и отсутсвие таких алфавитов где-то узнать? --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
| amg |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Насколько мне известно, первая половина ASCII-таблицы, в которой и находятся цифры и буквы английского алфавита, устоялась давным-давно и с тех пор применяется везде. Т.е. таблицу с другим расположением символов вряд ли где встретишь.
Может не по теме, но сортировка меняет расположение символов
Можно сделать процедуру сортировки, которая бы располагала символы в другом порядке. |
||||
|
|||||
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 3 Всего: 4 |
amg, спасибо. Вполне по теме. Выяснил - проблема была именно в этом. База данных использовала именно "локальную" кодировку, а программа на преле - без таковой работала. Порядок больших и малениких латинских букв, с точки зрения базы данных и скрипта был разный. Как результат, база данных и скрипт использовали разное отношение порядка на множестве слов. От этого и возникал бардак.
Временно решил путем убирания из алфаавита, из которого состоят мои слова больших латинских букв (в рамках задачи я властен над алфавитом своих слов). На досуге посмотрю, как там у них у всех с локалью... Чтобы вообще решить эту проблему на корню. Это сообщение отредактировал(а) Zuzu - 7.2.2007, 16:23 --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Кстати, я так понял, что локаль можно ставить (почти) любую, лишь бы была. По крайней мере (проверил) с локалями ru_RU и en_US латинские буквы сортируются одинаково.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |