Python 在具有init connect的数据库上使用Utf-8和sqlalchemy

Python 在具有init connect的数据库上使用Utf-8和sqlalchemy,python,mysql,utf-8,sqlalchemy,Python,Mysql,Utf 8,Sqlalchemy,我正在尝试使用sqlalchemy连接mysql数据库。我已经设置了charset=utf-8$use\u unicode=0。这适用于几乎所有的数据库,但不适用于特定的数据库。我相信这是因为它将“init connect”变量设置为“set NAMES latin2;”我没有权限更改它 如果我发送显式查询SET NAMES utf8,它对我有效,但是如果存在暂时断开连接,那么在重新连接后,我的程序从服务器获取lati2编码数据时再次中断 当sqlalchemy连接时,是否可以创建一些钩子来始终

我正在尝试使用sqlalchemy连接mysql数据库。我已经设置了
charset=utf-8$use\u unicode=0
。这适用于几乎所有的数据库,但不适用于特定的数据库。我相信这是因为它将“init connect”变量设置为
“set NAMES latin2;”我没有权限更改它

如果我发送显式查询
SET NAMES utf8
,它对我有效,但是如果存在暂时断开连接,那么在重新连接后,我的程序从服务器获取lati2编码数据时再次中断


当sqlalchemy连接时,是否可以创建一些钩子来始终发送
集合名称
?或者用其他方法来解决这个问题?

听起来你想要的是一个自定义池侦听器。这个答案解释了如何在SQLite的
PRAGMA-foreign\u-keys=ON