Re: BUG #2592: ILIKE does not care about locales - Mailing list pgsql-bugs

From Tino Schwarze
Subject Re: BUG #2592: ILIKE does not care about locales
Date
Msg-id 20060829123536.GK12171@easy.in-chemnitz.de
Whole thread Raw
In response to BUG #2592: ILIKE does not care about locales  ("Robert Siemer" <Robert.Siemer-postgresql.org@backsla.sh>)
Responses Re: BUG #2592: ILIKE does not care about locales
List pgsql-bugs
On Sun, Aug 27, 2006 at 12:58:00PM +0000, Robert Siemer wrote:

> Bug reference:      2592
> Logged by:          Robert Siemer
> Email address:      Robert.Siemer-postgresql.org@backsla.sh
> PostgreSQL version: 8.1.4
> Operating system:   Linux
> Description:        ILIKE does not care about locales
> Details:
>
> Hi!
>
> As I don't want to risk getting things mixed up here in this very report,
> lets assume:
> s and t are strings with one 'international' character, one having the lower
> case the other upper
>
> lower(s) LIKE lower(t) yields True, as it should
>
> s ILIKE t yields False --> I expect True
>
>
> I tried this with LC_COLLATE=C and the rest LC_...=es_ES.utf8
>
> dennisb from irc reported LC_everything=sv_SE.UTF-8 with version 8.1.0
> having the same problems.
>
> Some "non-normative" examples for s and t:
> http://rafb.net/paste/results/bMRfez77.html
> and ä Ä, ñ Ñ, ö Ö

I can confirm this with de_DE.utf8. We currently initialize all our
PostgreSQL database clusters like this:
unset LANG
export LC_ALL=POSIX
initdb --encoding="UNICODE" --lc-collate="de_DE.utf8" --lc-ctype="de_DE@euro"

Only this way, ILIKE and "ORDER BY" work as expected. I don't know about
upper() and lower() though; I only tested ILIKE and ORDER BY.

Tino.

PS: Is there a place to search bugs? I couldn't find one (apart from the
mailing list) last time I was troubleshooting some problem.

pgsql-bugs by date:

Previous
From: "Robert Siemer"
Date:
Subject: BUG #2592: ILIKE does not care about locales
Next
From: Tom Lane
Date:
Subject: Re: BUG #2592: ILIKE does not care about locales