Search Postgresql Archives

Re: encoding of PostgreSQL messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;
  		}



--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux