之前我也遇到這樣的問題,具體原因是因為emoji表情大小為四個字節(jié),但一般的utf8編碼下的mysql只能存儲2到3個字節(jié),具體的解決辦法是把要存儲的emoji表情的那個字段類型改為longtext,要是不行把utf8編碼改為utf8mb4
10年積累的網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有海門免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
我當(dāng)時好像就是這么解決的,你試試
通過上文我們已經(jīng)知道一種解決辦法了,但有一個硬性條件就是你的數(shù)據(jù)庫版本。當(dāng)你的數(shù)據(jù)庫版本沒有達(dá)到5.5.3怎么辦呢…總結(jié)一下,mysql支持存儲emoji表情的方法,至少有兩種。1.修改數(shù)據(jù)庫編碼為utf8mb4,前提是你的mysql數(shù)據(jù)庫版本必須得是5.5.3及以后的2.將帶emoji的文本轉(zhuǎn)為base64來進(jìn)行存儲,返回時進(jìn)行相應(yīng)解碼返回
冗余: 用來表示存儲兩倍的數(shù)據(jù), 但會使數(shù)據(jù)訪問更快. 相當(dāng)于redis
主鍵: 用來執(zhí)行每個表的關(guān)鍵性數(shù)據(jù), 并且,每個表中只有一個主鍵.
外鍵: 這應(yīng)該是mysql的關(guān)鍵, 使用外鍵來關(guān)聯(lián)不同表.
復(fù)合鍵: 將多個鍵組合一起來作為索引值. 一般用于復(fù)合索引
索引:借用一組值, 來對表進(jìn)行排序. 可以比作書的目錄.
參照完整性: 參照的完整性要求關(guān)系中不允許引用不存在的實體