powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с чувствительносью к регистру
14 сообщений из 14, страница 1 из 1
Проблемы с чувствительносью к регистру
    #34113311
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Постгресс 8.1 данные в utf8, кодировка базы - utf8.

При запросах вида ... ILIKE '...' постгресс всёравно различает строчные и прописные буквы. Подскажите, как бороться?
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123538
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неужели никто не сталкивался с таким?
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123656
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С такой проблемой не сталкивался.
А если просто использовать like, приводя все к одному регистру, например

Код: plaintext
select * from tabl1 where lower(mycolumn) like lower('%mypatern%')
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123713
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще проще - сначала выполнить что-нибудь вроде select lower('БОЛЬШИЕ маленькие');
и посмотреть результат.
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123856
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в release notes к 8.2 было упоминание бага при работе ilike в utf8, что мол исправили. в 8.1.х я не в курсе
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123946
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
select lower('БОЛЬШИЕ маленькие');
результат:
Код: plaintext
"БОЛЬШИЕ маленькие"

:(
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34123981
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
robot888
Код: plaintext
select lower('БОЛЬШИЕ маленькие');
результат:
Код: plaintext
"БОЛЬШИЕ маленькие"

:(

Как версия postgreSQL?
У меня 8.1.5, только что попробовал (кодировка базы utf-8).

Код: plaintext
select lower('БОЛЬШИЕ маленькие')
результат:
Код: plaintext
"большие маленькие"
т.е. все нормально.
Пробую ilike:
Код: plaintext
select 'сАдОВАЯ' ilike '%сад%'
результат:
Код: plaintext
false
т.е. ilike всеравно не работает.
Если так, то работает:
Код: plaintext
select lower('САДОВАЯ') like lower('%сад%')
результат:
Код: plaintext
true
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34124010
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
initdb правильно выполнять надо было
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34124016
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия постгреса 8.1.4. Кодировка базы 'UTF8'. А вы каким клиентом пробовали select lower.. ?
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34124031
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_serginitdb правильно выполнять надо было
можно поподробнее? Насколько я понимаю в initdb можно указать кодировку баз по умолчанию. Но если я при создании базы указываю кодировку, разницы ведь никакой?
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34124100
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть кодировка базы данных, а есть кодировка кластера баз данных, они не равносильны. более подробно "21.1. Locale Support"
во фре я обычно создавал кластер примерно так (koi8r by default)

pw usermod -n pgsql -L russian
su pgsql
cd /var/db/pgsql
initdb
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34124114
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
robot888Версия постгреса 8.1.4. Кодировка базы 'UTF8'. А вы каким клиентом пробовали select lower.. ?
pgAdmin. А как разница каким клиентом?

robot888 st_serginitdb правильно выполнять надо было
можно поподробнее? Насколько я понимаю в initdb можно указать кодировку баз по умолчанию. Но если я при создании базы указываю кодировку, разницы ведь никакой?
в initDB указывается не кодировка по умолчанию, а кодировка клатера всех БД? которая влияет на

st_sergна все операции связанные с национальными кодировками (lower, upper, order by etc.)
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34135794
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
благодарю ответивших, локаль в innodb помогла. ilike стал работать как надо.
...
Рейтинг: 0 / 0
Проблемы с чувствительносью к регистру
    #34135800
robot888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тфу. в не в innodb, а в initdb :)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с чувствительносью к регистру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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