數據庫存帶微信表情的昵稱


存帶微信表情的昵稱
 
原因:utf-8編碼可能2個字節、3個字節、4個字節的字符,但是MySQL的utf8編碼只支持3字節的數據,而移動端的表情數據是4個字節的字符。如果直接往采用utf-8編碼的數據庫中插入表情數據,程序中將報SQL異常。
前提:mysql支持utf8mb4的版本不低於5.5.3,mysql驅動版本不能低於5.1.13。若不是,升級到最新版本。
 
 
在一次微信開發中,出現了用戶無法注冊的問題,后來排查發現,是用戶的昵稱中帶有表情,無法存進mysql數據庫(mysql使用的是utf-8編碼)。
在網上查詢有以下幾種解決方案:
1、把昵稱在保存進數據庫前,進行編碼轉換。
2、(1)把數據庫中昵稱的字段改為utf8mb4
     (2)把tp5的數據庫配置文件中的數據庫默認編碼(charset),有utf-8改為 utf8mb4。
3、過濾特殊表情符號
 
 
三種方法都可以解決
 


免責聲明!

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



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