powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильная сортировка русских выражений
13 сообщений из 13, страница 1 из 1
Правильная сортировка русских выражений
    #32305894
IvanCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OS ASPLinux 7.3
PostGresSQL 7.3.4
Кодировка сервера KOI-8
Кодировка клиентов WIN
PostGresSQL компилировался с поддержкой KOI-8
База инициализировалась с кодировкой KOI-8
База создавалаль с кодировкой KOI-8

Проблема:
Существует таблица содержащая объекты, причем некоторые из них из нескольких слов [Турбодетандерный агрегат], при запроcе

select obj_name
from objects
order by obj_name

сортировка выполняется по алфавиту, но без учета символов отличных от букв и цифор. Изменение кодировок сервера и клиента не помогает.

Кто избавился от подобной проблемы прошу поделиться рецептом.
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32305906
Vel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня прокатило слудующее : и база и клиенты в виндовой кодировке. Проблем с сортировкой не было. И еще стал возможным поиск без учета регистра по русским словам
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32305925
Sehensucht!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32305977
IvanCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже делал и сервер и клиент в одной кодировке не помогло.
Проблема не в последовательности слов а именно в их наборе, тоесть если есть набор из объектов из одного и нескольких слов то сорторовка внутри группы (например на букву А) сбивается

Вот так

"ВАЛ"
"ВАЛ ВЕДУЩИЙ"
"ВАЛ ВЫХОДНОЙ"
"ВАЛИК"
"ВАЛ ПОЛУМУФТА"
"ВВЕРТЫШ"
"ВЕДОМОСТЬ"
"ВЕНЕЦ"
"ВЕНТ"
"ВЕНТ ДР БЛ С ЭЛП"
"ВЕНТ ДР БЛ С ЭПП"
"ВЕНТ ДРОС БЛО4"
"ВЕНТ ДРОС БЛО4Н"
"ВЕНТ ДРОС ХОЛОД"
"ВЕНТ ДРОС ХОЛОДН"
"ВЕНТЕЛЬ"
"ВЕНТЕЛЬ УГЛОВОЙ"
"ВЕНТ ЗАПОР"
"ВЕНТ ЗАПОР БЛО4"
"ВЕНТ ЗАПОР БЛОК"
"ВЕНТ ЗАПОР ТЛО4"
"ВЕНТИЛЬ"
"ВЕНТИЛЬТ0Р-6"
"ВЕНТИЛЬ АНАЛИЗ"
"ВЕНТИЛЬ Д10РУ6"
"ВЕНТИЛЬ Д615066"
"ВЕНТИЛЬ ДРОК БЛО4"
"ВЕНТИЛЬ ДРОС"
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306016
Sehensucht!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хмм... действительно странно...
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306053
Vel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В одинакой кодировке это в какой?
У меня никогда такого не было
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306113
IvanCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) сервер WIN клиент WIN
2) сервер KOI8 клиент KOI8
3) сервер KOI8 клиент WIN (сейчас)
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306309
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте отсортировать текстовый файл юниксовой командой sort. Может быть грабли в locale-настройках ОС?
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306403
xor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так

select obj, convert(obj, 'WIN', 'UNICODE') as obj_for_order from ... order by obj_for_order
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #32306762
IvanCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да такая лажа linux неверно отсортировал текстовый файл (файл в КОИ8)
выходит postgres юзает системную функцию сортировки
хотя mc сортирует правильно
локаль правильная
у кого есть соображения как порравить это?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Правильная сортировка русских выражений
    #33937358
SUKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IvanChда такая лажа linux неверно отсортировал текстовый файл (файл в КОИ8)
выходит postgres юзает системную функцию сортировкиТочно такая же ситуация :(
OS SUSE Linux 9.2
PostGresSQL 7.4
Кто-ть нашел решение?
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #33937952
Andrew Sagulin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PG использует strcoll из библиотеки GNU C для сравнения строк, которая игнорирует не только пробелы, но и точки, кстати, тоже.
Для решения проблемы можно сделать initdb с локалью C (в этом случае вместо strcoll будет использоваться strncmp), а данные хранить в кодировке win1251 или utf8 (create database ... encoding win1251). За исключением буквы "ё", строки будут сортироваться по алфавиту правильно. Единственное, но для кого-то серьёзное "но": перестанут работать upper, lower и сравнения без учёта регистра. Для такого случая, если очень надо, можно будет написать UDF.
...
Рейтинг: 0 / 0
Правильная сортировка русских выражений
    #33938061
SUKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew SagulinPG использует strcoll из библиотеки GNU C для сравнения строк, которая игнорирует не только пробелы, но и точки, кстати, тоже.
Для решения проблемы можно сделать initdb с локалью C (в этом случае вместо strcoll будет использоваться strncmp), а данные хранить в кодировке win1251 или utf8 (create database ... encoding win1251). За исключением буквы "ё", строки будут сортироваться по алфавиту правильно. Единственное, но для кого-то серьёзное "но": перестанут работать upper, lower и сравнения без учёта регистра. Для такого случая, если очень надо, можно будет написать UDF.

Спасибо за ответ. Я уже пробовал сделать "initdb --locale=C -E=WIN" и получил то, что вы сказали :( Хоть на винду переходи ;)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильная сортировка русских выражений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]