千家信息网

MySQL存储表情时报java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’错误怎么办

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关MySQL存储表情时报java.sql.SQLException: Incorrect string value:'\xF0\x9F\x92\xA9\x0D\x0A...'
千家信息网最后更新 2026年11月03日MySQL存储表情时报java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’错误怎么办

这篇文章将为大家详细讲解有关MySQL存储表情时报java.sql.SQLException: Incorrect string value:'\xF0\x9F\x92\xA9\x0D\x0A...'错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

本项目是基于Spring MVC + MySQL + Druid DataSource。在往数据库插入表情Emoji字符时报错:

java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xA9\x0D\x0A...'

普通字符最多占用3个字节,使用utf8足够。而emoji表情字符占用4个字节,需要使用utf8mb4字符集存储。解决需要在两个地方做修改:MySQL服务器端和连接的客户端。

MySQL服务器端

之前给大家介绍过使MySQL能够存储emoji表情字符的设置教程,想进一步了解的朋友可以先看一看。

在服务器端把需要存储表情emoji字符的字段改用utf8mb4字符集:

ALTER TABLE mytable MODIFY COLUMN myfiled varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

客户端

客户端需要把连接的字符集设定为utf8mb4。

设置如下:

set names utf8mb4;

使用的是阿里开源的druid datasource,它有一个属性connectionInitSqls,它用来设置物理连接初始化的时候执行的sql。所以我们可以使用connectionInitSqls来初始化连接。

Spring配置如下:

      

其他的数据库连接池如dbcp2,HikariCP都有connectionInitSqls属性。

关于"MySQL存储表情时报java.sql.SQLException: Incorrect string value:'\xF0\x9F\x92\xA9\x0D\x0A...'错误怎么办"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

字符 表情 存储 时报 字符集 客户 客户端 服务器 篇文章 服务 怎么办 错误 字节 属性 数据 数据库 更多 不错 实用 普通 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 奇酷互联网科技 互联网科技股票 顺玮阁互联网科技 互联网前沿科技 成都仁贤领冠互联网科技有限公司 中国最先进互联网科技公司 互联网 科技馆 互联网和高科技公司 以后互联网后是啥科技 阿里互联网科技公司 黑科技闪耀互联网之光 湖南一路畅行互联网科技 互联网5g黑科技有哪些 河南住房之家互联网科技 互联网第三次科技革命特征 中国互联网有什么科技 张召忠谈中国互联网科技 扫呗互联网科技有限公司 陕西九四连强互联网科技有限公司 银川新华互联网科技学校招聘 互联网科技名片 上海睿民互联网科技有限公司 广州百单互联网科技有限公司 汉立互联网科技有限公司联系电话 互联网大会黑科技排名 宜昌元轩互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 允成互联网科技有限公司融资 互联网科技和法律行业 互联网相关科技技术
0