You can create a custom DQL function [1] to implement ILIKE. [1]: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#adding-your-own-functions-to-the-dql-language
-- Jasper N. Brouwer (@jaspernbrouwer) On 26 May 2014 at 11:49:43, Gianvito Pio ([email protected]) wrote: > Hi all. > I'm working with Symfony 2.3, Doctrine 2.4 and PostgreSQL 9.2. > I just want to perform two simple queries, according to the value of a > checkbox. Such queries are: > > 1) SELECT * FROM table WHERE field LIKE 'Something' > 2) SELECT * FROM table WHERE field ILIKE 'Something' > > In PostgreSQL, the first is case sensitive, while the second is case > insensitive. I know that in Doctrine ILIKE does not exist and that I should > use the LOWER function. However, if I specify some special characters in > the query (for example 'è'), I get an error when I use the case insensitive > version (that is, when using the LOWER function). > > In particular, the error I get is the following: > > SQLSTATE[22021]: Character not in repertoire: 7 ERROR: invalid byte > sequence for encoding "UTF8": 0xe3 0xa8 0x20 > Everything works fine when I do not use the LOWER function. I already > checked the encoding and it is UTF8 for both the database and the > client_encoding parameter of PostgreSQL. > > Any suggestion? Thank you -- You received this message because you are subscribed to the Google Groups "doctrine-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/d/optout.
