Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Столкнулся с такой ситуацией. Есть список клиентов. Запрос select client_name from clientdb order by client_name выводит колонку с именами в разброс. Можт чет упустил?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 16:40 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
SELECT client_name from clientdb WHERE client_name~'^Р' ORDER BY client_name; client_name ------------------------------------- Рета ТД ООО Рось ЛТД ЧП Рута-сервис ЧП Райт-сервис ООО Ринон ЧП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 16:43 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
имхо Вы упустили из виду кодировку текстовых данных в базе и локаль серверного процесса. они должны быть равны. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 19:01 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
сравните show server_encoding ; и show lc_collate ; -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 19:03 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Ёшсравните show server_encoding ; и show lc_collate ; -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери Приветствую. Ёш. server_encoding SQL_ASCII а lc_collate en_US.UTF-8. Не подскажите как поменять lc_collate. Пробовал поставить под пользователем postgres export LC_COLLATE=SQL_ASCII потом смотрю EXPORT грит что загружен. Но когда захожу в базу и смотрю show lc_collate выдает всеравно UTF-8(то что было). Можт это в самом postgres как-то можно поменять?! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 11:25 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
prodiderserver_encoding SQL_ASCII а lc_collate en_US.UTF-8. Не подскажите как поменять lc_collate. Пробовал поставить под пользователем postgres export LC_COLLATE=SQL_ASCII потом смотрю EXPORT грит что загружен. Но когда захожу в базу и смотрю show lc_collate выдает всеравно UTF-8(то что было). Можт это в самом postgres как-то можно поменять?! Спасибо.помоему юникодные строки можно хранить в базе в кодировке SQL_ASCII - тоесть в данном случае проблемы имхо нету что server_encoding и lc_collate не совпадает. А проблема у Вас в другом, параметр lc_collate определяет _как_ сортировать и у Вас он равен en_US.UTF-8, то есть "в соответствии с правилами _английского_ языка". Вам нужно что бы было ru_RU.UTF-8 для этого поменяйте локаль серверного процесса на ru_RU.UTF-8. я незнаю нужно ли после изменения локали пересоздавать кластер через initdb и dump/restore или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 14:47 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Ёш prodiderserver_encoding SQL_ASCII а lc_collate en_US.UTF-8. Не подскажите как поменять lc_collate. Пробовал поставить под пользователем postgres export LC_COLLATE=SQL_ASCII потом смотрю EXPORT грит что загружен. Но когда захожу в базу и смотрю show lc_collate выдает всеравно UTF-8(то что было). Можт это в самом postgres как-то можно поменять?! Спасибо.помоему юникодные строки можно хранить в базе в кодировке SQL_ASCII - тоесть в данном случае проблемы имхо нету что server_encoding и lc_collate не совпадает. А проблема у Вас в другом, параметр lc_collate определяет _как_ сортировать и у Вас он равен en_US.UTF-8, то есть "в соответствии с правилами _английского_ языка". Вам нужно что бы было ru_RU.UTF-8 для этого поменяйте локаль серверного процесса на ru_RU.UTF-8. я незнаю нужно ли после изменения локали пересоздавать кластер через initdb и dump/restore или нет. declare -x LANG="ru_RU.UTF-8" поменял. Эффекта 0. Попробую пересоздать кластер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 09:34 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
prodider declare -x LANG="ru_RU.UTF-8" поменял. Эффекта 0. Попробую пересоздать кластер. The nature of some locale categories is that their value has to be fixed for the lifetime of a database cluster. That is, once initdb has run, you cannot change them anymore. LC_COLLATE and LC_CTYPE are those categories. They affect the sort order of indexes, so they must be kept fixed, or indexes on text columns will become corrupt. PostgreSQL enforces this by recording the values of LC_COLLATE and LC_CTYPE that are seen by initdb. The server automatically adopts those two values when it is started. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 11:53 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
а вот у меня есть Solaris 10 и под ним хоть зашибись, но сортировать он не хочет правильно, т.к. postgresql использует системную функцию, которая у него не пашет для русского utf8. Кстати гдето вычитал (еще перед отпуском, посему потерял где...), что под UTF8 должно сортироваться как АаБбВвГг... А не как раньше АБВГабвг.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 12:43 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Про Solaris 10 и сортировку поставил последнюю версию (8/07 или u4).... сортировка работает - ура!!! Правда как аАбБвВ... (сначала маленькие буквы затем заглавные) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 18:23 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Подскажите, а если: postgres=# show server_encoding ; server_encoding ----------------- UTF8 (1 запись) postgres=# show lc_collate ; lc_collate ------------- ru_RU.UTF-8 (1 запись) И при этом: postgres=# SELECT 'хабр' ILIKE 'Хабр' postgres-# ; ?column? ---------- f (1 запись) Что делать? Подозреваю, это тоже проблема локали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 10:32 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
у меня лично PG 8.2.5 а у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:35 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
Роман ТолкачёвПодскажите, а если: postgres=# show server_encoding ; server_encoding ----------------- UTF8 (1 запись) postgres=# show lc_collate ; lc_collate ------------- ru_RU.UTF-8 (1 запись) И при этом: postgres=# SELECT 'хабр' ILIKE 'Хабр' postgres-# ; ?column? ---------- f (1 запись) Что делать? Подозреваю, это тоже проблема локалинет к сожалению всё хуже. Судя по server_encoding и lc_collate с кодировкой/сортировкой/upper/lower проблем не должно быть - всё правильно. У Вас скорее всего версия 8.1 или младше. В них не работает ilike и regexp для unicode. В версии 8.2 исправлен ilike. Насколько я понял из рассылки - для 8.1 и младше чинить не будут потому что оно и не работало никогда. Обойти это можно использовав upper или lower, например так: Код: plaintext ps: в 8.2 regexp так же не работают, незнаю как в 8.3 с regexp и unicode ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 05:47 |
|
||
|
не сортирует рус.названия
|
|||
|---|---|---|---|
|
#18+
забыл упомянуть ещё один вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 05:55 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=282&tid=2004866]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 372ms |

| 0 / 0 |
