Re: BUG #2592: ILIKE does not care about locales

From: Tino Schwarze <tino(dot)schwarze(at)tisc(dot)de>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #2592: ILIKE does not care about locales
Date: 2006-08-29 12:35:36
Message-ID: 20060829123536.GK12171@easy.in-chemnitz.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)Siemer-postgresql(dot)org(at)backsla(dot)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(at)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.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2006-08-29 13:27:59 Re: BUG #2592: ILIKE does not care about locales
Previous Message Greg Sabino Mullane 2006-08-29 05:03:13 Re: Partial index causing wrong results to be returned on 8.1.3