mysql中插入emoji表情失败的原因与解决
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,失败场景用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
政府网络安全值班内容
小白网络技术讲座
湘西软件开发培训机构
金山区工商软件开发订做价格
sql数据库集群方案
修改表数据库sql语句
海淀区综合软件开发
宁夏网络安全工程师培训班
物联网的通信与网络技术
哪个数据库能查到香港股票收益率
拼多多登录服务器有问题
usb服务器声卡
自己搭建多ip服务器
网络技术通俗讲解
乐富网络技术
初中学历想当软件开发工程师
网络安全法是什么时间出的
神通kstore创建数据库实例
PG查数据库数据量
海安专业网络技术推荐咨询
互联网科技政策发布文案
林伍德律师德国服务器
数据库字段名可包含的字符是
固定ip地址首选服务器
七财互联网科技联系电话
为何要定义迭代式软件开发模型
丧尸生存服务器都需要弄什么职业
ASCE数据库有学位
信息技术网络技术应用考试
扑克麻将游戏软件开发