出现这个问题是因为表的默认编码是latin1 而我要兼容utf8的中文字段。
所以一下改正数据表的编码格式:
插入中文后还是报错;
从数据表看字段的编码格式还是latin1
需要改一下字段的编码格式
重新执行插入数据命令,执行成功
我用Python写ORM,插入一条数据进MySql的时候报了:1366 Incorrect string value: '这条数据是有中文的,所以很明显是编码问题!
我插入的数据格式:
以下是我的解决办法!
看我的文章,中有一篇是修改MySql的my.ini配置文件,修改MySql的字符编码格式修改成utf8格式的编码!
有可能你这步改完就可以了! 也有可能这步 *** 作完还是报错!那就看第二步。
第一步 *** 作完了,但是添加数据的时候还是报错,原因是因为第一步还没 *** 作完,你就已经建了一张表,我的表名是app_book。所以这张app_book的字符编码还是按我没修改字符编码之前的编码格式,所以这个时候我需要将这张表的编码格式转换一下,具体 *** 作如下!
比如:你可以先查看这张app_book表中的每个字段的编码格式
改变表的编码,为 utf8mb4 或者 utf8
OK! 完成以上 *** 作,再次执行ORM语句:
这次就没报错了,添加成功!
只需要修改配置文件即可解决。
工具:电脑。
1、开始图标出点击鼠标右键,选择菜单上的运行。
2、在输入框中输入cmd,再点击确定。
3、输入mysql -uroot -p+密码。
4、连接成功后输入:show variables like ‘char%’。
5、找到配置文件所在地址。
6、打开mysql.ini文件,修改默认字符集为utf8,因为MYSQL版本不同,配置文件里的内容也不大一样,只需要修改找到字符集设置并统一修改成utf8即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)