04.彻底解决:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1

前言

出现原因:当insert数据中有表情时发生。而这些表情是按照4个字节一个单位进行编码的,而我们使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的.

一.修改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

三.修改数据表的编码为utf8mb4

在改动的数据库那,执行查询语句:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;

四.最后

将数据库连接语句url中去掉characterEncoding;重启项目。

少年与爱永不老去,即便披荆斩棘,丢失怒马鲜衣。
posted @   契阔  阅读(234)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示