Re: About PQsetClientEncoding(),"SET NAMES",and "SET CLIENT_ENCODING" - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: About PQsetClientEncoding(),"SET NAMES",and "SET CLIENT_ENCODING"
Date
Msg-id 20001228083641E.t-ishii@sra.co.jp
Whole thread Raw
In response to About PQsetClientEncoding(),"SET NAMES",and "SET CLIENT_ENCODING"  (Chih-Chang Hsieh <cch@cc.kmu.edu.tw>)
List pgsql-hackers
> For example: If we use PHP (>4.0.2),  which way is correct or mostly correct?
> 
> 1. pg_setclientencoding($cid, "BIG5")
> 2. pg_exec("SET NAMES 'BIG5'")
> 3. pg_exec("SET CLIENT_ENCODING TO 'BIG5'")

2 and 3 are actually identical: telling the backend "Your client's
encoding is BIG5, so you need to convert EUC_TW to BIG5 before sending
data to the client. Also you need to convert BIG5 to EUC_TW when
receiving data from him."

1 is doing the same thing as 2 or 3 AND set the internal encoding of
libpq, which is linked to PHP, to BIG5. This is neccesary in case of
the second byte of BIG5 character is "\" or one of other control
characters.
--
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Frank Joerdens
Date:
Subject: Re: [INTERFACES] PHP and PostgreSQL
Next
From: Adam Haberlach
Date:
Subject: Re: PHP and PostgreSQL