BUG #5801: characters not encoded properly for column names
| От | Marc Cousin |
|---|---|
| Тема | BUG #5801: characters not encoded properly for column names |
| Дата | |
| Msg-id | 201012231018.oBNAIfdF020454@wwwmaster.postgresql.org обсуждение исходный текст |
| Ответы |
Re: BUG #5801: characters not encoded properly for column names
Re: BUG #5801: characters not encoded properly for column names |
| Список | pgsql-bugs |
The following bug has been logged online:
Bug reference: 5801
Logged by: Marc Cousin
Email address: cousinmarc@gmail.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.
В списке pgsql-bugs по дате отправления: