MySQL中字符集 utf8mb4與utf8的區別

今早發現MySQL 中無法存儲emoji表情,查詢資料後發現是字符集的問題。

原因:emoji對應的Unicode編碼不在utf8對應的Unicode分組平面內,無法直接用MySQL的utf8存儲emoji編碼格式字符。

解決方法:將數據庫默認字符集由utf8 更改爲utf8mb4,對應的表默認字符集也更改爲utf8mb4。

從MySQL 5.5.3起,utf8mb4字符集每個字符最多使用四個字節,並支持補充字符,而uft8字符每個字符最多使用三個字節,如果遇到四字節的字符就會出現錯誤了。

參考文章:
MySQL官網—utf8mb4
How to store emoji in a Rails app with a MySQL database

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