Re: Problems with cayenne, tapestry and postgres

From: tnaki..ofthome.net
Date: Fri Apr 29 2005 - 06:04:50 EDT

  • Next message: sastan: "Eclipse + Jetty + Tapestry"

    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