資料庫編碼格式utf-8
儲存報錯:incorrect string value: '\xf0\x9f\x88\xb2' for column *** at row 1
原因:emoji表情符號為4個位元組的字元,而 utf8 字符集只支援1-3個位元組的字元,導致無法寫入資料庫。
多麼痛的領悟? 對的 --> 永遠不要在mysql中使用utf8,改用utf8mb4
1.修改資料庫編碼
受限於mysql對 utf8mb4 字符集的支援
兩種方法都有介紹:
2.轉碼儲存
把資料轉成資料能夠儲存的格式,可以前端轉碼,也已後台轉碼,這裡是後台轉碼。
2)既然轉碼可以,應該可以轉成base64...
附錄:
移動端的emoji表情符號插入MySQL資料庫失敗
插入資料時候報了錯 error updating database.cause j a.sql.sqlexception incorrect string value xf0 x9f x98 x84 for column bak2 at row 1 這是因為 移動端的emoji表情符號是4個位元組,...
MySQL資料庫讀寫Emoji表情符號報錯
1 mysql的版本 utf8mb4的最低mysql版本支援版本為5.5.3 若不是,請公升級到較新版本。2 mysql驅動 5.1.34可用,最低不能低於5.1.13 開始沒修改mysql的配置檔案 導致伺服器的mysql驅動jar包只能用5.1.13版本,公升級版本就會報錯,坑死 3 修改mys...
MySQL資料庫讀寫Emoji表情符號報錯
1 mysql的版本 utf8mb4的最低mysql版本支援版本為5.5.3 若不是,請公升級到較新版本。2 mysql驅動 5.1.34可用,最低不能低於5.1.13 開始沒修改mysql的配置檔案 導致伺服器的mysql驅動jar包只能用5.1.13版本,公升級版本就會報錯,坑死 3 修改mys...