mysql中插入emoji表情失败的原因与解决
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,失败场景用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
联想美亚柏科服务器管理口地址
战地2单机版怎么设置服务器
解释什么是数据库管理系统
2018国家网络安全手抄报
工业网络技术适合女生吗
网络安全虚拟机实战
国家网络安全法规定国产化
数据库默认值怎么设置男
融势互联网科技 骗
boat如何玩无政府服务器
南通网站服务器哪个厂家质量好
在网络安全管理中常用
数据库结束事务
丁老师网络技术
哪家服务器提供隐私
网络安全中的交通违法
国家网络安全法海报
js火影服务器大哥是谁
温州维修备件管理软件开发
大学生软件开发毕业设计
公司网络安全解决方案
吉林省博益网络技术
互联网科技感图片大全
上海豪廷网络技术公司怎么样
软件开发的英语书
钱海网络技术有限公司企业性质
数据库中数据类型完成后如何查看
为什么要学习网络技术
如何将数据库设置为自动收缩
行云数据库是开源的吗