есть ли правильный способ, чтоб указать кодировку БД в SQLAlchemy?
(т.е. отличный от db.execute("SET NAMES 'utf8'") )
Я правда никогда не работал с SQLAlchemy. Но что-то по этому поводу написано в документации к функции create_engine http://www.sqlalchemy.org/docs/03/sqlalchemy_engine.html#docstrings_sqlalchemy.engine_modfunc_create_engine
Для MySQL "SET NAMES" все равно придется делать. Я передаю эту команду в строке адреса:
engine = create_engine(
	'mysql://bw@localhost/brain?init_command=set%20names%20%22cp1251%22',
	strategy        = 'plain',
	pool_recycle    = 600,
	pool_size       = 10,
	encoding        = 'cp1251',
	convert_unicode = True,
	echo            = False,
	echo_pool       = False)
..bw
bw
Для MySQL "SET NAMES" все равно придется делать.
посмотрел. да, действительно для MySQL нужно править адрес. параметр encoding ничего не меняет.

а для других СУБД ( encoding = 'cp1251' ) поможет?
к сожалению, проверить не могу, пока нет других доступных БД
> параметр encoding ничего не меняет
Он необходим самому SQLAlchemy, так что при использовании MySQL его все равно опускать нельзя.

> а для других СУБД ( encoding = 'cp1251' ) поможет?
Я так же работаю со SQLite и PostgreSQL, проблем не замечал.

..bw
bw
> а для других СУБД ( encoding = 'cp1251' ) поможет?
Я так же работаю со SQLite и PostgreSQL, проблем не замечал.
для SQLite encoding не нужно, с PostgreSQL помогает, да.
Be easy, stay cool