On Wed, Apr 18, 2007 at 09:21:15PM +0200, Markus Gritsch wrote:
> p = Person(name=u'\u20ac') # \u20ac is the 'Euro symbol'.
> print Person.select(LIKE(Person.q.name, u'\u20ac'))[0].name.encode('utf-8')
Doesn't work with Postgres and SQLite. To demonstrate the exact place of
the problem I changed the last line to
persons = Person.select(LIKE(Person.q.name, u'\u20ac'))
person = persons[0]
print person.name.encode('utf-8')
Both Pg and SQLite fail on
person = persons[0]
The tracebacks are -
SQLite:
Traceback (most recent call last):
File "./test1.py", line 19, in ?
person = persons[0]
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 154, in __getitem__
return list(self.clone(start=start, end=start+1))[0]
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 160, in __iter__
return iter(list(self.lazyIter()))
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 168, in lazyIter
return conn.iterSelect(self)
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 374, in iterSelect
select, keepConnection=False)
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 759, in __init__
dbconn.printDebug(rawconn, self.query, 'Select')
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 303, in printDebug
print '%(n)2i%(threadName)s/%(name)s%(spaces)s%(sep)s %(s)s' % locals()
File "/usr/local/lib/python2.4/encodings/koi8_r.py", line 18, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u20ac' in
position 82: character maps to <undefined>
PostgreSQL:
Traceback (most recent call last):
File "./test1.py", line 19, in ?
person = persons[0]
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 154, in __getitem__
return list(self.clone(start=start, end=start+1))[0]
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 160, in __iter__
return iter(list(self.lazyIter()))
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/sresults.py",
line 168, in lazyIter
return conn.iterSelect(self)
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 374, in iterSelect
select, keepConnection=False)
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 759, in __init__
dbconn.printDebug(rawconn, self.query, 'Select')
File
"/usr/local/lib/python2.4/site-packages/SQLObject-0.8.2dev_r2514-py2.4.egg/sqlobject/dbconnection.py",
line 303, in printDebug
print '%(n)2i%(threadName)s/%(name)s%(spaces)s%(sep)s %(s)s' % locals()
UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac' in position
82: ordinal not in range(128)
Resume: SQLObject doesn't work with unicode expressions yet.
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED]
Programmers don't die, they just GOSUB without RETURN.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss