徹底解決:java.sql.SQLException: Incorrect string value:

 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小圖片的效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章