Re: encoding of PostgreSQL messages

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: encoding of PostgreSQL messages
Дата
Msg-id 498EA524.9020004@gmx.net
обсуждение исходный текст
Ответ на Re: encoding of PostgreSQL messages  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: encoding of PostgreSQL messages  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Bruce Momjian wrote:
> Can someone comment on this?

Looks like a horrible hack to me.  Recoding stuff to the client encoding
in the server outside the existing recoding mechanism looks pretty evil
to me.  Plus, it does not address the problem of what happens to
messages sent before this, it just moves the point of "before" a bit
earlier for some special cases.

I think we have discussed more proper solutions earlier in this thread.
  IMO the best approach would be for the client to include the client
encoding in the startup package.

>
> ---------------------------------------------------------------------------
>
> Hiroshi Inoue wrote:
>> Hi,
>>
>> This topic seems to be related to the bug report
>>     [ODBC] Localized error messages, wrong charset
>> .
>>
>> Bruce Momjian wrote:
>>> Added to TODO:
>>>
>>>     Improve encoding of connection startup messages sent to the client
>>>
>>>         Currently some authentication error messages are sent in the server
>>>         encoding
>> It it true ?
>> IIRC the backend knows nothing about the server encoding in
>> authentication phase.
>>
>> Psqlodbc Unicode driver sends connection startup message which
>> contains the client_encoding(=UTF8) guc parameter. Attached is
>>   a trial patch so that the psqlodbc Unicode driver can get
>> properly localized password error messages.
>>
>> regards,
>> Hiroshi Inoue
>
>> Index: postmaster/postmaster.c
>> ===================================================================
>> RCS file: /projects/cvsroot/pgsql/src/backend/postmaster/postmaster.c,v
>> retrieving revision 1.570
>> diff -c -c -r1.570 postmaster.c
>> *** postmaster/postmaster.c    4 Jan 2009 22:19:59 -0000    1.570
>> --- postmaster/postmaster.c    30 Jan 2009 14:05:35 -0000
>> ***************
>> *** 1552,1557 ****
>> --- 1552,1560 ----
>>                                               pstrdup(nameptr));
>>                   port->guc_options = lappend(port->guc_options,
>>                                               pstrdup(valptr));
>> +                 if (stricmp(nameptr, "client_encoding") == 0 &&
>> +                     stricmp(valptr, "UTF8") == 0)
>> +                     bind_textdomain_codeset(PG_TEXTDOMAIN("postgres"), "UTF-8");
>>               }
>>               offset = valoffset + strlen(valptr) + 1;
>>           }
>


В списке pgsql-general по дате отправления:

Предыдущее
От: Iñigo Barandiaran
Дата:
Сообщение: Re: Install Postgre while installing Other software.
Следующее
От: John R Pierce
Дата:
Сообщение: Re: Install Postgre while installing Other software.