gpt4 book ai didi

python - Flask/SQLAlchemy - 如何全局使用 latin-1 而不是 UTF-8?

转载 作者:可可西里 更新时间:2023-11-01 07:49:57 26 4
gpt4 key购买 nike

我有一个使用 Flask、SQLAlchemy 和 MySQL 编写的 Web 应用程序。当我通过表单(例如 request.form['Username'])提交字符串时,它们通过 SQLAlchemy 提交并最终作为 Unicode 字符串提交给 MySQL。我的数据库使用的是 latin-1 字符集,所以我真的希望始终使用 latin-1。有没有办法强制 Flask 或 SQLAlchemy 始终使用/转换为 latin-1 而无需手动执行 string.encode('latin-1')

作为这如何导致问题的示例,当我执行 SELECT...WHERE Name=:name 并提供 request.form['Name'] 作为绑定(bind)参数,它作为 u'Some Name' 进行处理,因此找不到任何匹配项。

最佳答案

你可以在连接参数中设置SQLAlchemy连接到MySQL的编码:

create_engine('mysql+mysqldb:///mydb?charset=latin1')

参见 SQLAlchemy documentation on MySQL, unicode section .

关于python - Flask/SQLAlchemy - 如何全局使用 latin-1 而不是 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com