Python SQLAlchemy将UTF-8返回为拉丁1字符串

Python SQLAlchemy将UTF-8返回为拉丁1字符串,python,unicode,utf-8,sqlalchemy,latin1,Python,Unicode,Utf 8,Sqlalchemy,Latin1,我有一个用UTF-8编码的MySQL数据库,但是当我用SQLAlchemy(Python2.7)连接到它时,我得到了包含拉丁1 Unicode字符的字符串 因此,比利时的荷兰语拼法(België)是 'Belgi\xeb' 而不是 'Belgi\xc3\xab' 或者,理想情况下是Unicode对象 u'Belgi\xeb' 根据文件(): 如果use_unicode=1参数或charset参数作为连接参数传递,MySQLdb将容纳Python unicode对象 如果没有此设置,许多My

我有一个用UTF-8编码的MySQL数据库,但是当我用SQLAlchemy(Python2.7)连接到它时,我得到了包含拉丁1 Unicode字符的字符串

因此,比利时的荷兰语拼法(België)是

'Belgi\xeb'
而不是

'Belgi\xc3\xab'
或者,理想情况下是Unicode对象

u'Belgi\xeb'
根据文件():

如果use_unicode=1参数或charset参数作为连接参数传递,MySQLdb将容纳Python unicode对象

如果没有此设置,许多MySQL服务器安装默认为客户端连接的拉丁1编码

你需要使用

create_engine('mysql+mysqldb://HOSTNAME/DATABASE?charset=utf8')
而不仅仅是

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