我用的dialect是pymysql,先看了一下pymysql,发现果真在这一层就已经出问题了mysql
若是用纯pymysql的话,在链接数据库的时候要加上charset='utf8'
sql
conn = pymysql.connect(host='localhost', user='root', db='db', charset='utf8')
而后在sqlalchemy这一层的作法是在dsn字符串后面加上?charset=utf8
数据库
engine = create_engine('mysql+pymysql://%s:%s@%s/%s?charset=utf8' % ( user, passwd, host, database), echo=True)