powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / поиск и upper на киррилице
9 сообщений из 9, страница 1 из 1
поиск и upper на киррилице
    #34842017
Dicor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.
Начал изучать PostgreSQL. Обнаружил что функция upper() не выполняется на записях со словами на русском.
Как решить эту проблему, какую для этого надо поставить кодировку базы? (pg_client_encode возращает 'SQL ASCII').
Использую postgresql 8.2.4.
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34842126
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
CREATE DATABASE db_1
ENCODING = 'UTF8'
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34842509
Dicor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nedba
Код: plaintext
1.
CREATE DATABASE db_1
ENCODING = 'UTF8'


Сделал новую базу с кодировкой UTF8,win1251 - upper не срабатывает. Делал upper на поля типа text, var char.

Как исправить эту проблему?
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34842592
_Андрей_М
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Операционка какая?
Впрочем, в любом случае - документация, глава 21 "Localization"
Страница чегой-то не доступна :( может, попозже появится
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34842790
Dicor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Андрей_МОперационка какая?
Впрочем, в любом случае - документация, глава 21 "Localization"
Страница чегой-то не доступна :( может, попозже появится
winXP SP2.
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34843305
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DicorСделал новую базу с кодировкой UTF8,win1251 - upper не срабатывает. Делал upper на поля типа text, var char.
Как исправить эту проблему?

Cпецально проверил для varchar и text команды like на upper, order by и другие раюотают как и положено.

Предлагаю показать что вы делаете. Может тогда станет яснее.
Скрипт базы.
Скрипт таблицы.
Скрипт инсерта.
Скрипт селекта.
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34843407
Dicor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался с проблемой но не лучшим способом При установке ставил locale = C, а надо было выставить russian, russia.
Кодировку можно ставить win1251, utf8. Тогда upper, lower, like, sort отрабатывают правильно.

И еще момент show all возращает значения
Если при установке указал locale = С:
в этом случае upper/lower не работают.
авторlc_ctype=С
lc_collate=C

Если при установке указал locale = Russian,russia:
в этом случае upper/lower работают.
авторlc_ctype=Russian_Russia.1251
lc_collate=Russian_Russia.1251
Не разобрался как поменять через initdb, пытался так:
Код: plaintext
initdb --lc-ctype=win1251
не получается пишет что нет доступа. Как правильно?
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34843590
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
initdb --encoding=encoding

затем в файле postgresql.conf смотрим

Код: plaintext
1.
2.
3.
4.
5.
timezone = 
client_encoding = 
lc_messages = 
lc_monetary = 
lc_numeric = 
lc_time = 
...
Рейтинг: 0 / 0
поиск и upper на киррилице
    #34843680
_Андрей_М
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусок postgresql.conf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
# - Locale and Formatting -

datestyle = 'iso, dmy'
#timezone = unknown			# actually, defaults to TZ 
					# environment setting
#timezone_abbreviations = 'Default'     # select the set of available timezone
					# abbreviations. Currently, there are
					#   Default
					#   Australia
					#   India
					# However you can also create your own
					# file in share/timezonesets/.
#extra_float_digits =  0 			# min - 15 , max  2 
#client_encoding = sql_ascii		# actually, defaults to database
					# encoding

# These settings are initialized by initdb -- they might be changed
lc_messages = 'Russian_Russia.1251'			# locale for system error message 
					# strings
lc_monetary = 'Russian_Russia.1251'			# locale for monetary formatting
lc_numeric = 'Russian_Russia.1251'			# locale for number formatting
lc_time = 'Russian_Russia.1251'				# locale for time formatting
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / поиск и upper на киррилице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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