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

Re: BUG #3316: upper() does not convert to upper case on database with encoding utf-8 and locale de_DE

From: Florian Wunderlich <fwunderlich(at)factor3(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3316: upper() does not convert to upper case on database with encoding utf-8 and locale de_DE
Date: 2007-05-28 19:48:29
Message-ID: 465B320D.1060601@factor3.de (view raw or flat)
Thread:
Lists: pgsql-bugs
Tom Lane wrote:
> "Florian Wunderlich" <fwunderlich(at)factor3(dot)de> writes:
>> The following commands are
>> used in a file encoded in iso-8859-1:
> 
>> set client_encoding='utf-8';
>> select upper('äöü');
> 
> Isn't that pilot error, plain and simple?  You told the machine your
> input is in utf8, not latin1.
> 
> 			regards, tom lane

I used iconv to convert the iso-8859-1 to utf-8. This comes a few lines 
below those you have quoted.

The file is encoded in iso-8859-1, but contains instructions to set the 
client_encoding to utf-8. The whole file is then converted to utf-8 
(iconv -f iso-8859-1 -t utf-8 converts from iso-8859-1 to utf-8) and 
piped into psql, so this is actually correct.

Besides, if this was the problem, then it should not work with either 
database, but it does work with the second database which has iso-8859-1 
encoding.

To make this a bit clearer:

SELECT upper(some umlauts) with the same encoding and client_encoding 
does not work with a database with encoding='utf-8', but does work with 
a database with encoding='iso-8859-1'.

Note that at no point data is actually read from the database; the 
upper() function is applied to user supplied input, which is the same 
for both databases.

If this is all too confusing I will write a simple test case as bash script.

Thanks for the quick reply,

F. Wunderlich

In response to

pgsql-bugs by date

Next:From: chee leongDate: 2007-05-29 01:51:16
Subject: BUG #3318: PostgreSQL : server process (PID 3480) was terminated by signal 5
Previous:From: Tom LaneDate: 2007-05-28 19:15:07
Subject: Re: BUG #3316: upper() does not convert to upper case on database with encoding utf-8 and locale de_DE

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