Thread: BUG #2402: case insensitive match for unicode doesn't work

BUG #2402: case insensitive match for unicode doesn't work

From
"Balázs Klein"
Date:
The following bug has been logged online:

Bug reference:      2402
Logged by:          Balázs Klein
Email address:      balazs.klein@t-online.hu
PostgreSQL version: 8.1
Operating system:   Gentoo Linux
Description:        case insensitive match for unicode doesn't work
Details:

case conversion and case insensitive match (with or without regular
expression) does not work with non standard (Greek, Turkish, Hungarian,
etc.) characters

Examples:

Select 'a' ILIKE 'A'
--True

Select 'á' ILIKE 'Á'
--False

Select 'a' ~* 'A'
--True

Select 'á' ~* 'Á'
--False

Select upper('a')='A'
--True

Select upper('á')='Á'
--False

You would get the same result with é,ó,ü,ű,ó or with many Greek
characters that I tried.

I raised this issue on pgsql.general -
http://groups.google.com/group/pgsql.general/browse_frm/thread/20aed89ab0e19
e3d/4771fb1be397afea#4771fb1be397afea
but there didn't seem to be an easy workaround for this

On a sidenote SQLServer2000 and Access also make mistakes with the
equivalent of upper/lower function but they give correct result with more
characters than PG. Which at least consistently fails:)

Regards.
Balázs

Re: BUG #2402: case insensitive match for unicode doesn't work

From
Volkan YAZICI
Date:
On Apr 21 05:29, Balázs Klein wrote:
> Description:        case insensitive match for unicode doesn't work

Case conversion of multibyte characters related bugs has been resolved
in cvs tip and will be available for 8.2.

> I raised this issue on pgsql.general -
> http://groups.google.com/group/pgsql.general/browse_frm/thread/20aed89ab0e19
> e3d/4771fb1be397afea#4771fb1be397afea
> but there didn't seem to be an easy workaround for this

Please try to search bugs archive before sending any bug report. (IIRC,
this 3rd or 4th bug report with same issue.)


Regards.