Добрый день, народ!
У меня работает Postgres 8.1.4.
Настройки локали такие:
enterprise# SHOW LC_COLLATE;
lc_collate
-------------
ru_RU.UTF-8
(1 запись)
enterprise=# SHOW LC_CTYPE;
lc_ctype
-------------
ru_RU.UTF-8
(1 запись)
В одной из таблиц появились такие пользовательские записи, что запрос в программе:
SELECT * FROM vw_прайс WHERE UPPER(ИМЯ) LIKE '%тосол%'; ,
который раньше работал нормально, стал выдавать такую ошибку:
ERROR: неверная последовательность байт имя кодировки "UTF8": 0xe9f820
Решил устранить проблему, избавившись от функции UPPER():
SELECT * FROM vw_прайс WHERE ИМЯ ~* '.*тосол.*';
Стало работать быстрее, но не находит выражения, в которых слово "тосол" начинается с большой буквы. Попробовал по-другому:
enterprise=# SELECT 'Тосол (5л)' ~* '.*тосол.*';
?column?
----------
f
(1 запись)
enterprise=# SELECT 'Тосол (5л)' ~* '.*Тосол.*';
?column?
----------
t
(1 запись)
Т.е. получается, что в моем случае конструкция ~* с русскими буквами не работает. С английскими словами все работает нормально. Подскажите, пожалуйста, что тут можно сделать?



Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум postgres + utf (2004)
- Форум В консоли MySQL не пишется кириллица, что делать? (2022)
- Форум mysql, utf8 и кириллица (2011)
- Форум проблемы толи с mysql толи с php (2005)
- Форум Postgres case insensitive username (2012)
- Форум Pascal case (он же upper camel case) в plain C (2014)
- Новости Вышла новая версия операционной системы DragonFly BSD 4.4 (2015)
- Форум POSIX (2010)
- Форум POSIX (2006)
- Форум SQL case (2015)