出現原因:當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'
第二步:重啟數據庫
1 linux輸入命令:service mysql restart 2 windows輸入命令:net stop mysql 和 net start mysql
第三步:修改數據表的編碼為utf8mb4
在改動的數據庫那,執行查詢語句:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;
最后,將數據庫連接語句url中去掉characterEncoding;重啟項目。
支持emoji小圖片的效果: