You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by lantis system <la...@gmail.com> on 2017/04/23 20:10:53 UTC
finding turkish characters in like expression
hello all...
i use memory expression and filter. FilterObjects returns an empty list if the expression to be filtered has Turkish characters.
For example
Expression exp = XXX.yyy.likeIgnoreCase('%turkish characters(\u011fü\u015fiöç\u011eÜ\u015e\u0130ÖÇ)%')
and
List list = exp.filterObjects(mylist) ;
Unfortunately list result is empty.
Thank you in advance
Re: finding turkish characters in like expression
Posted by Andrus Adamchik <an...@objectstyle.org>.
Hi there,
I suspect there may be a bug in Cayenne. When building a match Pattern we are using Pattern.CASE_INSENSITIVE flag, while we should probably be using (Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE). We'll investigate.
In the meantime can you please confirm that "match(..)" and "like(..)" expressions work for you? This will narrow the problem to just case-insensitive like.
Thanks,
Andrus
> On Apr 23, 2017, at 11:10 PM, lantis system <la...@gmail.com> wrote:
>
>
> hello all...
>
> i use memory expression and filter. FilterObjects returns an empty list if the expression to be filtered has Turkish characters.
>
> For example
> Expression exp = XXX.yyy.likeIgnoreCase('%turkish characters(ğüşiöçĞÜŞİÖÇ)%')
>
> and
>
> List list = exp.filterObjects(mylist) ;
>
> Unfortunately list result is empty.
>
>
> Thank you in advance
>