On Sun, Aug 27, 2006 at 12:58:00PM +0000, Robert Siemer wrote:

> Bug reference:      2592
> Logged by:          Robert Siemer
> Email address:      [EMAIL PROTECTED]
> 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="[EMAIL 
PROTECTED]"

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.


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to