本篇主要是本人在实际开发过程中遇到的MySQL字符编码等bug修复相关问题。
在使用下列语句在执行数据库表通过flask-sqlacodegen 进行ORM映射成模型类的时候发生的bug:
flask-sqlacodegen mysql+pymysql://root:password@127.0.0.1:3306/wechat_food - -outfile common/models/model.py --flask
出现了如下bug:
于是我就上网去搜索关于这方面的bug,结果找到了一篇神贴:
这是关于数据库的编码问题:
这时候发现:
character_set_client 、character_set_connection、character_set_database 、character_set_results、character_set_server 之间的编码不一致造成的,所以可以通过如下发送进行修改:
set names utf8;
可以发现编码为:
然后就OK了。
具体细节可参考:
关于MySQL如何修改character_set_client的编码问题,https://www.jianshu.com/p/19b2a6e9ed90。