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

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: (view raw, whole thread or download thread mbox)
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:
> and ä Ä, ñ Ñ, ö Ö

I can confirm this with de_DE.utf8. We currently initialize all our
PostgreSQL database clusters like this:
unset LANG
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.


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


pgsql-bugs by date

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

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