前言
请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、
提示:以下是本篇文章正文内容,下面案例可供参考
背景
出现原因:当insert数据中有表情时发生。而这些表情是按照4个字节一个单位进行编码的,而我们使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的。
java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\x94‘ for column ‘name‘ at row 1
第一步:修改配置
修改mysql的配置文件mysql/bin/my.ini, 添加如下内容:
注意:是添加内容
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
第二步:重启数据库
linux输入命令:
service mysql restart
windows输入命令:
net stop mysql 和 net start mysql
docker容器:
docker restart xxxx
第三步:修改数据表的编码为utf8mb4
在改动的数据库那,执行查询语句:
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;
第四步:将数据库连接语句url中去掉
characterEncoding;重启项目。
总结
我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!
本文介绍了如何处理Java在MySQL中插入表情数据时遇到的SQLException,包括修改mysql配置、重启数据库、转换数据表编码以及调整连接URL编码,以确保支持4字节UTF-8mb4编码。
615

被折叠的 条评论
为什么被折叠?



