Re: BUG #5801: characters not encoded properly for column names

From: Marc Cousin <cousinmarc(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5801: characters not encoded properly for column names
Date: 2010-12-23 10:34:47
Message-ID: 201012231134.47840.cousinmarc@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

No, from a Linux psql client (inside a kde konsole). You can setup any charset
in it. I have exactly the same behaviour with psql under windows anyway, with
a chcp 1252 in the cmd console. It's not a console charset problem, I've
tripled checked that :)

And anyway, this character shouldn't get into the database as UTF8, as it is
1252 (hence the error message).

The Thursday 23 December 2010 11:24:21, Pavel Stehule wrote :
> Hello Marc,
>
> It was entered from a windows cmd console? It doesn't use win
> encodings as default. For example, it must be executed with parameter
> /c chcp 1250 for win1250 encoding.
>
> Regards
>
> Pavel Stehule
>
> 2010/12/23 Marc Cousin <cousinmarc(at)gmail(dot)com>:
> > The following bug has been logged online:
> >
> > Bug reference: 5801
> > Logged by: Marc Cousin
> > Email address: cousinmarc(at)gmail(dot)com
> > PostgreSQL version: 9.0.2
> > Operating system: Windows XP
> > Description: characters not encoded properly for column names
> > Details:
> >
> > I get a different behaviour between a Linux and a Windows server, when a
> > user creates an accentuated column name.
> >
> > All tests below were done with a linux psql client, the console being set
> > on win1252 charset (so the input character is truly 'é' in win1252)
> >
> > With the Linux server :
> > marc=# SET client_encoding TO 'win1252';
> > SET
> > marc=# CREATE TABLE test (nom varchar, prénom varchar);
> > CREATE TABLE
> >
> >
> > marc=# \d test
> >
> >
> > Table "public.test"
> >
> >
> > Column | Type | Modifiers
> >
> >
> > --------+-------------------+-----------
> >
> >
> > nom | character varying |
> >
> >
> > prénom | character varying |
> >
> > 'prénom' is also displayed correctly if client_encoding and console are
> > UTF8, so the conversion is good.
> >
> > With the Windows server :
> > test=# SET client_encoding TO 'win1252';
> > SET
> > test=# CREATE TABLE test (nom varchar, prénom varchar);
> > CREATE TABLE
> > test=# \d test
> > ERROR: invalid byte sequence for encoding "UTF8": 0xe3a96e
> > test=# SELECT attname from pg_attribute where attrelid = (select oid from
> > pg_class where relname = 'test');
> > ERROR: invalid byte sequence for encoding "UTF8": 0xe3a96e
> > test=# select version();
> > version
> > -------------------------------------------------------------
> > PostgreSQL 9.0.2, compiled by Visual C++ build 1500, 32-bit
> > (1 row)
> >
> >
> > The main reason that this is a problem is that the table cannot be
> > pg_dumped anymore because of this.
> >
> > --
> > Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-bugs

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Kevin Grittner 2010-12-23 15:23:17 Re: Issue while using PostgreSql 8.4.
Previous Message Pavel Stehule 2010-12-23 10:24:21 Re: BUG #5801: characters not encoded properly for column names