ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

django插入数据库报错 1366, "Incorrect string value: '\\xF0\\x9F\\x9A\\xA8

2022-08-18 10:03:28  阅读:136  来源: 互联网

标签:Incorrect xA8 utf8mb4 value 报错 x9F mysql xF0


 报错: 1366, "Incorrect string value: '\\xF0\\x9F\\x9A\\xA8

 

是因为mysql不能识别4个字节的utf8编码的字符,抛出了异常,这应该也是问题的根源。☺、��、类似于这种4个字节,将对应字符类型换成将对应的数据类型改为utf8mb4类型,同时连接类型也要改成utf8mb4_general_ci.

 

解决办法
注意:直接在navicat中修改表结构的字符集和数据库的字符集都不能生效 (至少我的不行)

通过cmd进入mysql,找到表结构,修改表结构字符集为utf8mb4

使用命令行: alter table 表名 convert to character set utf8mb4;

 

再添加djanog连接串属性:

'OPTIONS': {'charset': 'utf8mb4'},

 

 

修改完成后,插入正常。

 

补充

1、有资料说进入my.ini修改mysql配置,实测无效

2、强调一遍,不要偷懒直接用可视化工具修改

3、如果改了mysql的配置,尝试重启服务器,如果启动不了,就改回去

 

 

 

 

 

 

参考: (10条消息) pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8E\\xB5\\xE9\\x9F...'_成都—大数据开发工程师—杨洋的博客-CSDN博客

 

标签:Incorrect,xA8,utf8mb4,value,报错,x9F,mysql,xF0
来源: https://www.cnblogs.com/fengzaoye/p/16597670.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有