python config_error ai_generated true

SQLAlchemy 参数错误:向 create_engine() 发送了无效参数 'charset'。

sqlalchemy.exc.ArgumentError: Invalid argument(s) 'charset' sent to create_engine(), using configuration create_engine(). Did you mean to use 'connect_args'?

ID: python/mysql-wrong-argument

其他格式: JSON · Markdown 中文 · English
80%修复率
87%置信度
0证据数
2025-04-02首次发现

版本兼容性

版本状态引入弃用备注
1.4.x active
2.0.x active

根因分析

将数据库驱动特有的参数直接传递给 create_engine,而不是通过 connect_args。

English

将数据库驱动特有的参数直接传递给 create_engine,而不是通过 connect_args。

generic

解决方案

  1. 90% 成功率
    使用 connect_args:create_engine(url, connect_args={'charset': 'utf8mb4'})
  2. 85% 成功率
    在 URL 中正确编码,例如:mysql+pymysql://user:pass@host/db?charset=utf8mb4

无效尝试

常见但无效的做法:

  1. 50% 失败

    尝试在 URL 中直接添加 charset,但可能被忽略。

  2. 40% 失败

    删除 charset 参数,但可能导致编码问题。