The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как сделать корректную сортировку в Linux?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на рабочей станции (Unicode, кодировки)
Изначальное сообщение [ Отслеживать ]

"Как сделать корректную сортировку в Linux?"  +/
Сообщение от grafsoft (ok) on 05-Фев-10, 13:52 
UTF-8

Тест:

touch 'а'
touch 'я'
touch 'ё'
touch 'а  a'
touch 'я  a'
touch 'ё  a'
touch 'а1'
touch 'я1'
touch 'ё1'
touch '0'
touch '1'
touch '10'
touch '15'
touch ' '
touch '20'
touch '20 Руб'
touch '10  Руб'
touch '1        Руб'
touch '1        '
touch '2 Руб'
touch '12 Руб'
ls


-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 0
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 1
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 1
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 10
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 10  Руб
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:52 12 Руб
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 15
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 1        Руб
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 20
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 20 Руб
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 2 Руб
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 а
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 а1
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 а  a
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 ё
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 ё1
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 ё  a
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 я
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 я1
-rw-r--r-- 1 oracle oinstall 0 2010-02-03 14:44 я  a

а должно быть
0
1
1
1        Руб
10
10  Руб
12 Руб
15
2 Руб
20
20 Руб
а
а  a
а1
ё
ё  a
ё1
я
я  a
я1

т.е. "пробел" считается после цифры, проблема в использовании postgresql, который использует сортировку из системы, т.е. например postgresql на windows, используя utf-8 сортирует, правильно

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как сделать корректную сортировку в Linux?"  +/
Сообщение от Aquarius (ok) on 05-Фев-10, 19:21 
>[оверквотинг удален]

>ё  a
>ё1

>я  a
>я1
>
>т.е. "пробел" считается после цифры, проблема в использовании postgresql, который использует сортировку
>из системы, т.е. например postgresql на windows, используя utf-8 сортирует, правильно
>

кто сказал?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как сделать корректную сортировку в Linux?"  +/
Сообщение от grafsoft (ok) on 05-Фев-10, 19:47 
>
>кто сказал?

например на freebsd в KOI8 все правильно сортирует
если я не прав, в том что пробел должен считаться перед цифрой, ткните носом
потому как столкнулся первый раз с таким (всмысле всегда и везде пробел при сортировке раньше цифр был)
ps. сам я ораклоид и postgresql несколько "удивил", а потом оказалось, что это удивляет linux


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как сделать корректную сортировку в Linux?"  +/
Сообщение от Kirikaza email on 08-Фев-10, 13:20 
Может, просто подсунуть нужную кодировку postgres-серверу? Наверняка есть в опциях. Ну или в лоб: запускать со сменой переменных среды:
LC_ALL=C postgresql ...

Если же в скрипте postgres запускается «из откуда-то», например, «start-stop-daemon ... -- postgresql», то надо использовать вспомогательную команду env:
start-stop-daemon ... -- env LC_ALL=C postgresql

Возможно, это как-то поможет, но вряд ли это решение «на века». Думается, надо копать в сторону конфигов postgres.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как сделать корректную сортировку в Linux?"  +/
Сообщение от grafsoft (ok) on 08-Фев-10, 13:56 

>
>Возможно, это как-то поможет, но вряд ли это решение «на века». Думается,
>надо копать в сторону конфигов postgres.

нет с LANG=C, другие траблы вылезут, с русским языком

скачал у становил opensolaris 09.06
та же самая LANG=ru_RU.UTF-8
все правильно сортирует

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру