Python 2.4.4 (win32) + SQLAlchemy (r2285) + MySQLdb 1.2.1
Code:
from sqlalchemy import create_engine, BoundMetaData
from sqlalchemy import Table, Column, Integer, String, SmallInteger,
Unicode
dburl1 = 'mysql://login:[EMAIL PROTECTED]/geobase?
use_unicode=1&charset=cp1251&compress=1'
engine1 = create_engine(dburl1, echo=False)
metadata1 = BoundMetaData(engine1)
cities = Table('cities', metadata1,
Column('id', Integer, autoincrement=True, primary_key=True),
Column('region_id', Integer, nullable=False, default=0),
Column('country_id', Integer, nullable=False, default=0),
Column('dialcode', String(7), nullable=False, default=''),
Column('name', String(64), nullable=False, default=''),
Column('mask', String(5), nullable=False, default=''),
Column('metro', SmallInteger, nullable=False, default='0') )
dburl2 = 'mysql://login:[EMAIL PROTECTED]/geobase?
use_unicode=1&charset=utf8'
engine2 = create_engine(dburl2, echo=False, convert_unicode=False)
metadata2 = BoundMetaData(engine2)
places = Table('places', metadata2,
Column('id', Integer, autoincrement=True, primary_key=True),
Column('name', Unicode(64), nullable=False, default=''),
Column('parent', Integer, nullable=False, default=0),
Column('left', Integer, nullable=False, default=0),
Column('right', Integer, nullable=False, default=0),
Column('depth', Integer, nullable=False, default=0),
Column('type', Integer, nullable=False, default=0),
Column('dialcode', Unicode(7), nullable=True),
Column('mask', Unicode(5), nullable=True),
Column('code', Integer, nullable=True),
Column('domain', Unicode(5), nullable=True),
)
# BLOCK
cities = cities.select(limit=1).execute().fetchall()
# BLOCK
iv2 = u'\u0418\u0432\u0430\u043d\u043e\u0432\u0441\u043a\u0430\u044f
\u043e\u0431\u043b.'
nregion = places.select(places.c.name == iv2).execute()
----
Traceback (most recent call last):
File "e.py", line 37, in ?
nregion = places.select(places.c.name == iv2).execute()
File "\Python24\Lib\site-packages\sqlalchemy\sql.py", line 476, in
execute
File "\Python24\Lib\site-packages\sqlalchemy\sql.py", line 414, in
execute
File "C:\Python24\lib\site-packages\sqlalchemy\engine\base.py", line
492, in execute_compiled
return connection.execute_compiled(compiled, *multiparams,
**params)
File "C:\Python24\lib\site-packages\sqlalchemy\engine\base.py", line
303, in execute_compiled
proxy(str(compiled), parameters)
File "C:\Python24\lib\site-packages\sqlalchemy\engine\base.py", line
299, in proxy
self._execute_raw(statement, parameters, cursor=cursor,
context=context)
File "C:\Python24\lib\site-packages\sqlalchemy\engine\base.py", line
337, in _execute_raw
self._execute(cursor, statement, parameters, context=context)
File "C:\Python24\lib\site-packages\sqlalchemy\engine\base.py", line
356, in _execute
raise exceptions.SQLError(statement, parameters, e)
sqlalchemy.exceptions.SQLError: (UnicodeDecodeError) 'charmap' codec
can't decode byte 0x98 in position 1: character maps to <undefined>
'SELECT places.id, places.name, places.parent, places.`left`,
places.`right`, places.depth, places.type, places.dialcode,
places.mask, places.code, places.domain \nFROM places \nWHERE
places.name = %s' ['\xd0\x98\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xbe
\xd0\xb2\xd1\x81\xd0\xba\xd0\xb0\xd1\x8f \xd0\xbe\xd0\xb1\xd0\xbb.']
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---