mysql存储表情测试_Mysql正确的储存处emoji表情
今天在給一個老項目做msyql儲存emoji表情時,一直報[error][10501]SQLSTATE[HY000]:Generalerror:1267Illegalmixofcollations(utf8mb4_general_ci,IMPLICIT)and(utf8_general_ci,COERCIBLE)foroperation'like'。數(shù)據(jù)庫編碼是utf8mb4_general_ci,表的編碼也是utf8mb4_general_ci,字段的編碼也是utf8mb4_general_ci,可以是一直寫入emoji表情到目標(biāo)字段一直報上面的錯誤,網(wǎng)上找了很多資料才知道,是因為在寫入時要先查詢是否存在,在查詢條件中只要有那個要寫入emoji的字段就會出這個錯誤。又在網(wǎng)上找了很多關(guān)于mysql儲存emoji的文章重新梳理了一遍發(fā)現(xiàn),是因為數(shù)據(jù)庫的連接方式還是utf8。。。。。
趁著這個事,總結(jié)一下如果用Mysql的utf8mb4_general_ci編碼儲存emoji時的整體正確全部環(huán)節(jié):
1、數(shù)據(jù)庫字符集編碼為utf8mb4_general_ci;
2、表的字符集編碼為utf8mb4_general_ci;
3、字段的字符集編碼為utf8mb4_general_ci;
4、應(yīng)用的數(shù)據(jù)庫配置編碼為utf8mb4_general_ci,TP5.+后是在database.php下的charset設(shè)為“utf8mb4”。
這樣全部設(shè)置好后才可以使用mysql儲存emoji表情。
總結(jié)
以上是生活随笔為你收集整理的mysql存储表情测试_Mysql正确的储存处emoji表情的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql自动从另外表取数_你在 Doc
- 下一篇: MySQL创建索引跳过redo_明明我建