> 文档中心 > Python Djangor + mysql插入数据报 1366, “Incorrect string value: ‘\\xF3\\x9A\\x81\\x8B\\u...‘ 解决方案

Python Djangor + mysql插入数据报 1366, “Incorrect string value: ‘\\xF3\\x9A\\x81\\x8B\\u...‘ 解决方案

django + mysql项目

有时候我们往数据库里插入一些特殊表情,文件下载流编码时,会有一些大字符串(肉眼看起来像是乱码)要写入mysql,这时在save()时,就会抛1366的异常,怎么解决。请看下面表演。

因为改mysql数据库与表的字符集可以用navicat上修改,案例中也不去liunx敲命令显高端了

第一、确认数据库字符集是不是utfmb4,排序规则是不是:utf8mb4_general_ci,如果不是请修改,如下图

记住,这是基础

第二、在数据字符集设置好时,再去看插入数据目标表字段的字符集是不是utfb4,排序规则是不是:utf8mb4_general_ci ,如果不是请修改,如下图

 第三、确认前两项字符集都是utfmb4后,表示不是数据库问题了,再在django项目里 setting.py文件里的DATABASES配置增加一个字段:'OPTIONS': {'charset':'utf8mb4'}, 如下图

当上面三步都配置好了,肯定没问题了,有问题留言,没问题点赞~