最近用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的字符集了。
如何创建表点这 创建表
亲测