Skip site navigation (1) Skip section navigation (2)

BUG #5801: characters not encoded properly for column names

From: "Marc Cousin" <cousinmarc(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5801: characters not encoded properly for column names
Date: 2010-12-23 10:18:41
Message-ID: 201012231018.oBNAIfdF020454@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
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.

Responses

pgsql-bugs by date

Next:From: Pavel StehuleDate: 2010-12-23 10:24:21
Subject: Re: BUG #5801: characters not encoded properly for column names
Previous:From: Atul KumarDate: 2010-12-23 08:31:08
Subject: Issue while using PostgreSql 8.4.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group