Обсуждение: server , client encoding issue

Поиск
Список
Период
Сортировка

server , client encoding issue

От
"surabhi.ahuja"
Дата:
 
 hi all
 
i am facing a problem and here it is:
 
i install the following (postgres) rpms as root
postgresql-libs-8.0.0-1PGDG.i686.rpm
postgresql-8.0.0-1PGDG.i686.rpm
and
postgresql-server-8.0.0-1PGDG.i686.rpm
 
now i try to create a database
 
/usr/bin/createdb temp
 
when i connect to it
it shows: server_encoding : LATIN9
and client_encoding: LATIN9
 
from where did it get these values
i want them to be UNICODE.
 
please help
( i know there is a workaround to this problem - 
/usr/bin/createdb -E UNICODE temp )
 
but this is happening at a particular machine . On other machines it is UNICODE.
 
thanks
regards
surabhi

Re: server , client encoding issue

От
"surabhi.ahuja"
Дата:
how can i change the client encoding to LATIN1?
i know it can be done by changing the postgresql.conf
 
but i want to include it in the code ...
 
is it possible that PQconnectdb can take a parameter for client encoding if yes how??
 
if PQconnectdb can not handle it ..please tell as to how  which is the method i can use for doing the above


From: Richard Huxton [mailto:dev@archonet.com]
Sent: Thu 10/20/2005 1:00 PM
To: surabhi.ahuja
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] server , client encoding issue

***********************
Your mail has been scanned by InterScan VirusWall.
***********-***********


surabhi.ahuja wrote:
> i checked the locale it is giving:

>  LANG=en_US.iso885915
> LC_CTYPE="en_US.iso885915"

If you Google for "ISO-8859-15 Latin9" the top two results seem to give
details. Oh - there are two naming systems for character sets, just to
make things even more complicated.

Now, traditionally you'd have used Latin1 (ISO-8859-1), but the
introduction of the Euro meant they needed to introduce a new character.
They took the opportunity to make some other changes too and called the
results Latin9 (ISO-8859-15).

OK - now the original problem was with a database not having a UNICODE
encoding. It does look like this is because the environment on this
machine is Latin9 rather than UTF-8. It's easy to have this problem, and
I always recommend setting the encoding explicitly when creating a
database cluster (initdb --encoding=UTF8). If you installed from a
package, it might have chosen a default for you though.

HTH
--
   Richard Huxton
   Archonet Ltd


Re: server , client encoding issue

От
Martijn van Oosterhout
Дата:
On Thu, Oct 20, 2005 at 03:41:51PM +0530, surabhi.ahuja wrote:
> how can i change the client encoding to LATIN1?
> i know it can be done by changing the postgresql.conf

Send the query:

set client_encoding=latin1;

Have a nice day,

--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Вложения

Re: server , client encoding issue

От
Tom Lane
Дата:
Martijn van Oosterhout <kleptog@svana.org> writes:
> On Thu, Oct 20, 2005 at 03:41:51PM +0530, surabhi.ahuja wrote:
>> how can i change the client encoding to LATIN1?

> Send the query:
> set client_encoding=latin1;

Also, whatever client-side library you're using may have alternative
ways to specify the same thing.  libpq for instance looks for a
PGCLIENTENCODING environment variable.

            regards, tom lane