On 9/11/06, Oleg Broytmann <[EMAIL PROTECTED]> wrote:
> On Mon, Sep 11, 2006 at 09:26:43PM +0200, Markus Gritsch wrote:
> > one issue remains: When doing a select() using LIKE (maybe with other
> > SQLBuilder objects too) with a unicode string, one gets a traceback,
> [skip]
> > print Test.select(LIKE(Test.q.name, name))[0].name.encode('utf-8') #
>
> Please read the description of the UnicodeCol:
>
> http://sqlobject.org/SQLObject.html#column-types
>
> "...you MUST apply the encoding yourself:..."
Thank you for the link, though I do not completely understand this.
Everything works fine when using an SQLite connection in my example:
sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
I understand that I have to tell the MySQL connection whether to
use_unicode, the charset used, and for all I care also SQLObject about
the sqlobject_encoding. But I really do not want to change my
application code all over the place and add an .encode(dbEncoding)
everywhere I use LIKE. As already said, this is not necessary when
using the SQLite connection. Would changing the line
if self.need_unicode:
into
if self.need_unicode and not isinstance(query, unicode):
in mysqlconnection.py make things worse?
However I do not have enough insight into SQLObject, so it would be
great if you would find a solution, as you already mentioned, for the
LIKE expression.
Kind regards,
Markus
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss