解决MySQL不能存储Emoji表情的问题

原因分析

在MySQL 5.5.3之前版本的数据库中,数据库的默认编码是utf8字符集,只支持1-3个字节的字符,也就是只能保存1到3个字节。但现在的emoji表情需要用4个字节才能保存,所以抛出异常。

解决方案

1、将数据表的编码格式设置成utf8mb4_general_ci

sql 复制代码
ALTER TABLE XXX CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

此时数据库已经可以支持emoji表情了

2、修改JDBC链接

sql 复制代码
修改前

jdbc.url=jdbc:mysql:/域名:端口/数据库?useUnicode=true&character_set_server=utf-8

修改后

jdbc.url=jdbc:mysql:/域名:端口/数据库?useUnicode=true&character_set_server=utf8mb4

最后修改druid数据源的配置,增加一行。

bash 复制代码
<property name="connectionInitSqls" value="set names utf8mb4;"/>
相关推荐
xiao-xiang3 小时前
redis-保姆级配置详解
数据库·redis
白鹭5 小时前
MySQL(多表查询练习)
数据库·mysql
xiao-xiang8 小时前
redis-sentinel基础概念及部署
数据库·redis·sentinel
AI 嗯啦9 小时前
SQL详细语法教程(三)mysql的函数知识
android·开发语言·数据库·python·sql·mysql
时序数据说9 小时前
国内时序数据库概览
大数据·数据库·物联网·时序数据库·iotdb
杰克尼10 小时前
mysql-条件查询案例
数据库·mysql
你那是什么调调12 小时前
`SHOW PROCESSLIST;` 返回列详解(含义 + 单位)
mysql
运维行者_12 小时前
使用Applications Manager进行 Apache Solr 监控
运维·网络·数据库·网络安全·云计算·apache·solr
云心雨禅14 小时前
网站突然崩了,此站点遇到了致命错误!
服务器·mysql