Hi there,

I am trying to do a select on a table, where a user has a /username/
with a German umlaut like "kölbel".
The table in the mysql-database is utf-8. I also failed when the table
was latin1.

My problem is that by no(!) chance I manage to match the user and get a
row from the select statement. (see version2)

Should it be possible at all or am I just screwing up with my
non-existent unicode-skills! ;-)

Thanks a lot and kind regards
Cornelius

# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
from sqlalchemy import MetaData
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Table

CONNECT_STRING="mysql://my_connect_string"
TABLE = "linotp_user"
USER = u"kölbel"

engine  = create_engine(CONNECT_STRING, echo=False)
meta    = MetaData()
Session = sessionmaker(bind=engine)
session = Session()
table   = Table(TABLE, meta, autoload=True, autoload_with=engine)

print "type of user: ", type(USER)
select = table.select(u"username = '%s'" % USER)

print "select statement: ", select
print "type of select: ", type(select)

print "Printing rows, version 1"
rows = session.execute(select)
for row in rows:
    print " ::: ", row
    
print "Printing rows, version 2"
sel_string=u"select * from %s where username = '%s'" % (TABLE, USER)
print type(sel_string)
print sel_string
rows = engine.execute(sel_string)
for row in rows:
    print " ::: ", row

session.close()


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to