Damir Bijuklic wrote:
>There is a simple search component which constructs
>search condition (where clause) using '
>likeIgnoreCase' clause, which translates into postgres
>ILIKE operator. The search is not working correctly on
>the linux side. For some locale specific characters it
>doesn't find entries in the database (with where field
>ILIKE '%search%'). I have tried to identify the
>problem and have changed a few things in the system
>but nothing has helped. I have goten impression from
>tomcat log's of cayenne actvity that some characters
>from html form (locale specific) are not transimted
>correctly to the server?
>
>
I might be able to help you locate the problem, but I have no real solution.
I'm using Postgre 8 on windows and 7.4.x on linux: the database I'm
working with at the moment is unicode encoded. I cannot test the linux
setup at the moment, but I've seen some fairly ugly behaviour on windows
when using the upper() function: I've never seen it tranlate croatian
language specific characters correctly from lowercase to uppercase. I've
seen two different invalid behaviours, though: some letters arren't
uppercased at all, while other are, but into letters I'd say are
scandinavian in origin.
Anyway, I believe this might be the cause of your problem: a case
insensitive comparison might fail if upper() and lower() don't work as
they should. If I had a little more time on my hands, I'd try using
ISO-8859-2 or windows-1250 an the database encoding and *then* see if
upper() and lower() work - I suggest you try this, if for no other
reason, than to see is it a UTF-8-postgresql related problem.
Regards,
Tomislav
This archive was generated by hypermail 2.0.0 : Fri Apr 29 2005 - 05:59:52 EDT