【问题标题】:Utf-8 with sqlalchemy on a database with init connect带有初始化连接的数据库上带有 sqlalchemy 的 Utf-8
【发布时间】:2010-09-01 11:57:32
【问题描述】:

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

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

是否可以创建一些钩子以在 sqlalchemy 连接时始终发送SET NAMES?或者有什么其他方法可以解决这个问题?

【问题讨论】:

    标签: python mysql utf-8 sqlalchemy


    【解决方案1】:

    听起来您想要的是自定义 PoolListener。这个 SO 答案解释了如何在 SQLite 的 PRAGMA foreign_keys=ON 的上下文中编写一个

    Sqlite / SQLAlchemy: how to enforce Foreign Keys?

    【讨论】:

      猜你喜欢
      • 2016-10-24
      • 1970-01-01
      • 2021-06-30
      • 2020-06-12
      • 2018-04-26
      • 2011-06-27
      • 2013-11-28
      • 1970-01-01
      • 2021-09-22
      相关资源
      最近更新 更多