flask中向mysql中数据操作会出现字符集的问题,比如创建数据模型:db.create_all()时,控制台会出现warring 1366 的字符集警告,是这样的:这个异常是mysql问题,而非python的问题,这是因为mysql的字段类型是utf-xxx, 而在mysql中这些utf-8数据类型只能存储最多三个字节的字符,而存不了包含四个字节的字符。解决方法:修改mysql数据表的字段类型为utf8mb4,只有在mysql5.5之后可以支持。在flask配置中设置字符集:
SQLALCHEMY_DATABASE_URI = “mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8”
作者:Claymore
链接:https://www.zhihu.com/question/42390423/answer/139628895
来源:知乎