Re: select (\' \' ~* \' \')=true while select (\' \' ilike \' \') - Mailing list pgsql-admin

From Tom Lane
Subject Re: select (\' \' ~* \' \')=true while select (\' \' ilike \' \')
Date
Msg-id 21728.1268326244@sss.pgh.pa.us
Whole thread Raw
In response to select (\'ã\' ~* \'Ã\')=true while select (\'ã\' ilike \'Ã\')  (desoft@freemail.gr)
List pgsql-admin
desoft@freemail.gr writes:
> encoding is set correctly.

To what?

> While ilike works correctly ~* doesn't why ?

~* is known to have issues in multibyte encodings (eg UTF8).
Fixing this is on the TODO list, but nobody's thought of a
reasonably clean fix yet.

There is a partial solution in place for 9.0 --- it should work for
UTF8, though not for other multibyte encodings.  If you're feeling
desperate you could try backpatching this commit:
http://archives.postgresql.org/message-id/20091201210024.B1393753FB7@cvs.postgresql.org
However the path of least resistance might be to use a single-byte
encoding in your database, such as LATIN1.

            regards, tom lane

pgsql-admin by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: select (\'*\' ~* \'*\')=true while select (\'*\' ilike \'*\')
Next
From: Nicos Panayides
Date:
Subject: Off-site storage for PITR logs