Re: Yet another problem with ILIKE and UTF-8

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Gergely Bor" <borg42(at)gmail(dot)com>
Cc: <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Yet another problem with ILIKE and UTF-8
Date: 2007-10-25 14:18:04
Message-ID: 87ve8vth0j.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Gergely Bor" <borg42(at)gmail(dot)com> writes:

> I have a nasty-looking problem case. Shortly described as follows:
>
> INSERT INTO mytable (id, value) VALUES (4242, 'úabcdú');
> SELECT id FROM mytable WHERE value ILIKE '%abc%';
>
> In environment A, the row of the ID just inserted is returned
> correctly, but in environment B no rows are found. Uh! (Sadly
> environment B is the productive environment... :/)
>
> Notice the UTF-8 chars in the inserted sting and the _lack_ of UTF-8
> chars in the searched string.
>
> Environment A: Win2000, psql 8.2.4, lc_* is C, all encondings (client,
> server, DB) are UTF-8.
> Environment B: Debian lenny/sid ^[1], kernel version 2.6.20.1, glibc
> 2.6.1-5, psql 8.2.5, lc_* is hu_HU, all encondings (client, server,
> DB) are UTF-8.

I'm not sure this is the right answer but what happens if you initdb a
database on the Debian box with lc_* set to hu_HU.UTF-8 ?
(You may have to add it to /etc/locale.gen and rerun locale-gen)

Also, what does lower('úabcdú') return in that locale?

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2007-10-25 14:36:14 Re: BUG #3695: Pgsql does not report non existing function
Previous Message Pierre-yves Strub 2007-10-25 13:28:29 BUG #3696: FK integrity check bypassed using rules.