The following bug has been logged online: Bug reference: 3316 Logged by: Florian Wunderlich Email address: [EMAIL PROTECTED] PostgreSQL version: 8.2.4 Operating system: Linux 2.6.15.6 (debian) Description: upper() does not convert to upper case on database with encoding utf-8 and locale de_DE Details:
The database cluster has been initialized with locale=de_DE. SHOW ALL shows all lc_ variables as "de_DE". There are two databases: temp which has been created with encoding='utf-8', and temp2 with encoding='iso-8859-1'. Both databases are completely empty. The console is running with encoding iso-8859-1. The following commands are used in a file encoded in iso-8859-1: set client_encoding='utf-8'; select upper('äöü'); In case the argument to upper() does not come out as expected: it is an a-umlaut, o-umlaut and u-umlaut. The following command is then used: iconv -f iso-8859-1 -t utf-8 | psql temp | iconv -f utf-8 -t iso-8859-1 This converts the iso-8859-1 encoded file from above to utf-8 and converts the psql output back to iso-8859-1. For database temp, this yields "äöü" (lower case letters), while for temp2, it yields "ÃÃÃ" (upper case letters), which is correct. I did not find a bug report for this problem on pgsql-bugs or with Google. It seems that there have been problems in the past with multibyte database, but for 8.1, they have been fixed and using a multibyte database should work fine. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend