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;重啓項目。
支持emoji小圖片的效果: