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 sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss