出现原因:当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;重启项目。
支持emoji小图片的效果: