当前位置:网站首页>记一次解决Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 插入emoji表情报错问题
记一次解决Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 插入emoji表情报错问题
2022-08-09 14:53:00 【Java升级之路】

近日在插入mysql数据时,报了一个错'\xF0\x9F\x8E\x80Sa...'的错误,导致数据插入不进去。一看字段名是存储微信昵称的字段,想到的可能是有什么表情符号插入不进去。
通常情况,Mysql中utf8占3个字节,但是,3个字节对于表情符号是不够的,需4个字节;此时使用utf8,保存表情符号会出现‘\xF0\x9F\x8D\x83\xF0\x9F’的问题。需要把数据库的字符集设置为utf8mb4编码。
但我确认了一下,数据库是设置的utf8mb4编码呀,还是插入失败。
(1).查看数据库编码,可以看到已经是utf8mb4
show variables like 'character_set_database';
(2).查看表的编码,可以看到也是utf8mb4
show create table user;
(3).查看字段的编码,可以看到还是utf8mb4
show full columns from user;
最后才发现,因为我是使用Navicat连接工具,直接写sql的方式插入的,而连接属性连接时的编码设置的是自动,导致插入不进去。

解决方式:把连接属性的编码设置成utf-8后,重新执行sql语句就可以正常插入了

总结:
遇到表情符号插入的首先要排查是否是字符集的问题,若字符集设置的正确再去找是否是连接工具是否设置正确。
边栏推荐
- Entity Framework Core知识小结
- redis从入门到精通
- Mysql two engines comparison
- Bessel function
- 股票程序化交易如何理解自己的交易系统?
- 正则化原理的简单分析(L1/L2正则化)
- In the process of quantitative trading, retail investors can do this
- .Net Core 技巧小结
- What do professional quantitative traders think about quantitative trading?
- How to use and execute quantitative programmatic trading?
猜你喜欢
随机推荐
突然想分析下房贷利率及利息计算
LNK1123: Failed during transition to COFF: invalid or corrupt file
流程控制学习
【C语言初阶】求最小公倍数的三种方法
It is deeply recognized that the compiler can cause differences in the compilation results
SNR 信噪比
注解与反射
The difference between show and exec in Qt dialog
bin文档读写
如何将List<Map>进行分组数值计算合并排序
常用类学习
What drives the development of quantitative trading interfaces?
ASP.Net Core实战——使用Swagger
How to flexibly use the advantages of the quantitative trading interface to complement each other?
OpenCV简介与搭建使用环境
redis从入门到精通
排序方法(希尔、快速、堆)
Common compilation problems
经典面试题 之 TCP 三次握手/ 四次挥手
如何灵活运用量化交易接口的优势取长补短?









