flask+pymysql 插入中文错误
出现的错误:sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'movie.role' doesn't exist") [SQL: 'INSERT INTO `role` (name, auths, addtime) VALUES (%(name)s, %(auths)s, %(addtime)s)'] [parameters: {'addtime': datetime.datetime(2018, 5, 20, 8, 47, 9, 934573), 'name': '超级管理员', 'auths': ''}] (Background on this error at: http://sqlalche.me/e/f405)
无法插入中文
flask_sqlalchemy默认的字符集是latin-1,转成utf-8
设置
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:123456@127.0.0.1:3306/movie?charset=utf8"
无效的原因
在创建数据库的时候必须设置成utf8 CREATE DATABASE movie CHARSET=UTF8;
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:123456@127.0.0.1:3306/movie?charset=utf8"