gpt4 book ai didi

python - SQLAlchemy 将 UTF-8 作为 Latin1 字符串返回

转载 作者:行者123 更新时间:2023-11-28 20:46:38 24 4
gpt4 key购买 nike

我有一个以 UTF-8 编码的 MySQL 数据库,但是当我使用 SQLAlchemy (Python 2.7) 连接到它时,我得到的字符串中包含 Latin1 Unicode 字符。

因此,比利时 (België) 的荷兰语拼写为

'Belgi\xeb'

而不是

'Belgi\xc3\xab'

或者,理想情况下是 Unicode 对象

u'Belgi\xeb'

最佳答案

根据文档(http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#custom-dbapi-args):

MySQLdb will accommodate Python unicode objects if the use_unicode=1 parameter, or the charset parameter, is passed as a connection argument.

Without this setting, many MySQL server installations default to a latin1 encoding for client connections.

你需要使用

create_engine('mysql+mysqldb://HOSTNAME/DATABASE?charset=utf8')

不仅仅是

create_engine('mysql+mysqldb://HOSTNAME/DATABASE')

关于python - SQLAlchemy 将 UTF-8 作为 Latin1 字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484817/

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