mysql中插入emoji表情失败的原因与解决
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,失败场景用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F
千家信息网最后更新 2026年10月31日mysql中插入emoji表情失败的原因与解决
失败场景
用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x9B'
失败原因
mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。
下面话不多说了,来一起看看详细的介绍吧
解决方案
一. 修改database、table、column字符集
修改database字符集
ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
修改table字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改column字符集
ALTER TABLE 表名 CHANGE 字段名 字段名 该字段原来的数据类型 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
以上三种可以根据自己的实际情况来选择修改;
二. 查看mysql配置变量
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
注意 character_set_server 这个变量的值是否等于 utf8mb4 ,如果不是那么看第三步。
三. 修改mysql配置文件
这边 mysql 是安装在 centos 下的,配置文件名称为 my.cnf ,路径按照自己安装的目录来。
vim /etc/my.cnf /etc/mysql/my.cnf
my.cnf
找到 character_set_server ,将其值设置为 utf8mb4 ,保存退出;试着重新 insert 看是否报错;如果报错可能需要重启下 mysql 服务
service mysqld restart
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
字符
表情
字符集
字段
字节
数据
支持
配置
内容
变量
数据库
文件
存储
学习
原因
价值
场景
实际
就是
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳科技互联网
亿策互联网科技
致聘互联网科技
壹账通互联网科技
天下捷融互联网科技
广州善班互联网科技
互联网巨头投资的硬核科技
互联网科技产品
互联网系的金融科技公司
明优互联网科技有限公司
科技赋能视角下互联网保险发展
中国互联网有什么科技
中天科技中国工业互联网
互联网营销推广黑科技
互联网科技资金流入
广州燕处互联网科技有限公司
新氧科技和美国互联网有关系吗
科技互联网行业投资研究
互联网对科技影响
优雇互联网科技有限公司
互联网巨头科技公司
青岛互联网科技公司
云电互联网科技
福州新华互联网科技学校 知乎
常德市电业局互联网科技部
工业互联网等科技实现智能化赋能
富国互联网金融科技混合基金
宇信科技在杭州互联网排第几
银川新华互联网科技学校原画
广东猫王互联网科技有限公司电话