Re: UTF-8 Problem ?

From: "Milen Kulev" <makulev(at)gmx(dot)net>
To: "'Thomas Beutin'" <psql(at)laokoon(dot)IN-Berlin(dot)DE>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: UTF-8 Problem ?
Date: 2006-06-15 12:59:53
Message-ID: 017001c6907b$982952e0$0a00a8c0@trivadis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Thomas,
What actually the compile option --enable-recode is doing ?
I haven't compiled PG with this option for sure (perhaps is the option
On by defalt ?), but oyu advice hepled me:

postgres=# \encoding
UTF8
postgres=# \encoding
UTF8
postgres=# SET client_encoding = 'LATIN1';
SET
postgres=# \encoding
LATIN1
postgres=# PREPARE stmt( int, int, int, varchar) as insert INTO part values ($1,$2,$3,$4);
PREPARE
postgres=# EXECUTE stmt (1, 1 , 1 , 'MAßßtab') ;
INSERT 0 0
postgres=# EXECUTE stmt (1, 1 , 1 , 'MAßßtab') ;
INSERT 0 0
postgres=# EXECUTE stmt (1, 1 , 1 , 'Grün') ;
INSERT 0 0
postgres=#

postgres=# SELECT filler from part where filler like 'MA%' or filler like 'Gr%' ;
filler
---------
MAßßtab
MAßßtab
Grün
(3 rows)

Regards. Milen

-----Original Message-----
From: Thomas Beutin [mailto:psql(at)laokoon(dot)IN-Berlin(dot)DE]
Sent: Thursday, June 15, 2006 2:45 PM
To: pgsql-sql(at)postgresql(dot)org
Cc: Milen Kulev
Subject: Re: [SQL] UTF-8 Problem ?

Hi Milen,

Milen Kulev wrote:
> Hi Listers,
> I want to insert some german specific characters (umlaut characters)
> into a table, but I am getting the following
> Error message:
> postgres=# EXECUTE stmt (1, 1 , 1 , 'Grün') ;
> ERROR: invalid UTF-8 byte sequence detected near byte 0xfc
>
> Or
>
> postgres=# EXECUTE stmt (1, 1 , 1 , 'MAßßtab') ;
> ERROR: invalid UTF-8 byte sequence detected near byte 0xdf
>
> Here are my object/statement definitions :
>
> A) PREPARE stmt( int, int, int, varchar) as insert INTO part values
> ($1,$2,$3,$4);
>
> B)
> postgres=# \d+ part
> Table "public.part"
> Column | Type | Modifiers | Description
> --------+------------------------+-----------+-------------
> id1 | integer | not null |
> id2 | integer | not null |
> id3 | integer | not null |
> filler | character varying(200) | |
>
> C)
>
> postgres=# l\l
> List of databases
> Name | Owner | Encoding
> ------------+-------+-----------
> db1 | user1 | SQL_ASCII
> postgres | pg | UTF8
> template0 | pg | UTF8
> template1 | pg | UTF8
>
>
> How to solve my problem ?

You should insert only correct utf8 strings or set the client encoding
correctly:
SET client_encoding = 'LATIN1';
or
SET client_encoding = 'LATIN9';

IIRC postgresql must be compiled with --enable-recode to support this.

Regards,
-tb

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Thomas Beutin 2006-06-15 13:33:55 Re: UTF-8 Problem ?
Previous Message Thomas Beutin 2006-06-15 12:44:32 Re: UTF-8 Problem ?