mysql 1366的错误 字符集错误解决方案

最近用mysqlalchmy的时候遇到了

sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366, "Incorrect string value: '\xF0\xA0\x88\x8C\xEF\xBC...' for column 'wb_content' at row 75")

错误网上找了很多方案都说把表的字符集改成utf8mb4就好了  然后我就修改了

然并卵,还是报错

最后执行了以下语句ok了

,很奇怪不知道为什么。

如果表已经存在了运行下面这句就可。

ALTER TABLE wb_info CONVERT TO CHARACTER SET utf8mb4;

同时程序也的修改

charset="utf8mb4"
connect_str= "{}+pymysql://{}:{}@{}:{}/{}?charset={}".format(args['db_type'], args['user'], password,args['host'], args['port'], args['db'],charset)
engine=create_engine(connect_str)


如果不存在就只需在链接数据库的时候把charset改成utf8mb4创建的时候就是utf8mb4的字符集了。
如何创建表点这 创建表

亲测
原文地址:https://www.cnblogs.com/c-x-a/p/8507678.html