久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

22
2023/12

寫入數(shù)據(jù)庫的內(nèi)容中包含emoji表情,導(dǎo)致寫入失敗報錯如何處理?

發(fā)布時間:2023-12-22 15:23:29
發(fā)布者:已經(jīng)寫了
瀏覽量:
0

最新遇到的小問題,這種問題一般出現(xiàn)在移動端使用手機(jī)填寫內(nèi)容或者發(fā)布文章的時候輸入了一些emoji表情或者其他的表情,導(dǎo)致寫入的時候報錯,一般報錯內(nèi)容是: Incorrect string value: '\xF0\x9F\xA4\x97\xF0\x9F...' for column 'content' at row 1。

遇到這種錯誤,有時候無法第一時間判斷問題出在哪里,我一開始以為是在截取內(nèi)容的時候因為字符集的問題導(dǎo)致截取漢字的時候出現(xiàn)截取了半個漢字的問題導(dǎo)致的報錯,后來才發(fā)現(xiàn)是因為這種表情的問題,導(dǎo)致的報錯。

這個問題解決起來也很簡單,數(shù)據(jù)庫的字符集改為的utf8mb4格式,就可以解決這個問題。

寫入數(shù)據(jù)庫的內(nèi)容中包含emoji表情,導(dǎo)致寫入失敗報錯如何處理?

有時候在創(chuàng)建數(shù)據(jù)庫的時候設(shè)置的就是utf8mb4的可能也不會生效,原因是因為.數(shù)據(jù)庫字符集的使用順序是:數(shù)據(jù)庫字符集 < 表字符集 < 表字段(列)字符集??赡苣阍O(shè)置的數(shù)據(jù)庫是utf8mb4但是字段的字符集不是,所以最好是指定到對應(yīng)的字段才好。

如果在創(chuàng)建表時沒有指定字符集,那么將默認(rèn)使用數(shù)據(jù)庫的字符集。同樣地,如果在創(chuàng)建表的字段時沒有指定字符集,那么將默認(rèn)使用表的字符集。

MySQL支持多種字符集,其中最常用的是utf8和utf8mb4。utf8mb4是utf8的超集,支持四字節(jié)長度的UTF8字符,包括emoji的編碼支持。

關(guān)鍵詞:
返回列表