徹底解決:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\x94‘


出現原因:當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小圖片的效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM