Thread: BUG #2300: Error in upper function

BUG #2300: Error in upper function

From
"Kashin Oleg"
Date:
The following bug has been logged online:

Bug reference:      2300
Logged by:          Kashin Oleg
Email address:      kashin.oleg@mail.ru
PostgreSQL version: 8.1
Operating system:   Suse 9.1
Description:        Error in upper function
Details:

My database is with UTF8 encoding. When I use function "upper" for any filed
of table I get the next error
"Invalid multibyte character for locale".
Example:
select from users where upper(user_login) like '%';
I rewrote such SQL query like next one -
select from users where lower(user_login) like '%'; and everything now is
ok.
Thanks.

Re: BUG #2300: Error in upper function

From
Alvaro Herrera
Date:
Kashin Oleg wrote:

> My database is with UTF8 encoding. When I use function "upper" for any filed
> of table I get the next error
> "Invalid multibyte character for locale".

Did you select a locale appropiate for UTF8 as well?  It's pretty easy
to get into trouble if you select a non-matching pair of locale and
encoding.  UTF8 locales are usually prefixed with ".UTF8", so for
example in my case es_CL.UTF8 works with UTF8 encoding, but es_CL
doesn't, as the latter assumes iso-8859-1 encoding.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.