UnicodeEncodeError: 'latin-1' codec can't encode characters 错误

在flask项目中在进行数据库的数据迁移操作中出现报错,情况如截图所示:

UnicodeEncodeError: 'latin-1' codec can't encode characters 错误_第1张图片

解决方法一是:(此方法涉及源码如果没有其他方法使用)

/root/.virtualenvs/flask_demo/lib/python3.6/site-packages/MySQLdb/cursors.py

文件下修改源码:添加这一句

query = query.encode('utf-8').decode('latin-1')

如下图修改所示:

UnicodeEncodeError: 'latin-1' codec can't encode characters 错误_第2张图片

解决方法二是

在之前的配置基础上添加:?charset=utf8mb4  如果你的数据库编码方式是utf8那就在配置后添加:   ?charset=utf8

 # 数据库连接配置
    # 数据类型://登录账号:登录密码@数据库主机IP:数据库访问端口/数据库名称数据库默认编码类型
    SQLALCHEMY_DATABASE_URI = "mysql://root:[email protected]:3306/flask_demo?charset=utf8mb4"

 

你可能感兴趣的:(Flask)