Skip site navigation (1) Skip section navigation (2)

Кодировка

From: Maxim Vetrov <muxas(at)mail(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Кодировка
Date: 2005-10-22 07:49:24
Message-ID: 4359EF04.2080801@mail.ru (view raw or flat)
Thread:
Lists: pgsql-ru-general
Добрый день!

Во-первых, заметил такую особенность - на форме подписки

http://www.postgresql.org/community/lists/subscribe

в поле выбора отстутвует русский список рассылки. Там вообще нет ничего
похожего на regional lists.
Как тогда подписаться ?

*** Помаявшись немного, подписался. Но все же попроще бы процедуру 
сделать :-)

Моя проблема такая. Есть база на Sybase SQLAnywhere 5.0 (под win).
Клиентское приложение под Windows, написано на PowerBuilder. Для
соединения с базой используется ODBC. Задача отлаженная, работает без
глюков.

Хочу перенести базу на PostgreSQL 8.03 под FreeBSD. В качестве теста
создал базу в кодировке WIN, тестовую таблицу. Под виндой поставил
драйвер ODBC. Приложение подключается, тестовая таблица отображается.
Пытаюсь заполнить записями. В таблице два поля, integer и char(80). При
отображении записи показываются только в поле с типом integer. В поле
char пустота. Причем как для русских так и для английских букв. Иду на
сервер, через psql смотрю записи - сохраняло то что нужно, отображает
нормально. Приложение ориентировано на работу с кодировкой CP1251, к
сожалению исходников нет, все со слов разработчика. Под Sybase база
крутиться на CP2151, проверял. В чем мождет быть проблема?
Вот еще что заметил в логах ODBC:

>> conn=10303424, query='set DateStyle to 'ISO''
>> conn=10303424, query='set geqo to 'OFF''
>> conn=10303424, query='set extra_float_digits to 2'
>> conn=10303424, query='SET client_encoding TO 
WIN'                        << Эта строка прописана в настройках
драйвера мной на всякий случай
>> conn=10303424, query='select oid from pg_type where typname='lo''
>>     [ fetched 0 rows ]
>> conn=10303424, query='select pg_client_encoding()'
>>     [ fetched 1 rows ]
>>    [ Client encoding = 'WIN' (code = 22) ]
>> conn=10303424, query='set client_encoding to 'UTF8''               
      << Вот эта строка всегда присутсвует при инициализации соединения ODBC

В случае, если убрать из настроек драйвера принудительное указание
кодировки клиента, то последняя строка, где устанавливается UTF8, все
равно не исчезает. Она там всегда торчит. Вызывает большие сомнения ее
надобность. Может она мне "карты путает"?

С уважением,
Максим


pgsql-ru-general by date

Next:From: GenixDate: 2005-10-22 13:57:40
Subject: не работает индекс по таблице
Previous:From: Maxim VetrovDate: 2005-10-22 07:41:14
Subject: Кодировка

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group