django插入数据库报错 1366, "Incorrect string value: '\\xF0\\x9F\\x9A\\xA8
报错: 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的配置,尝试重启服务器,如果启动不了,就改回去
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术