mysql5.6版本 uft8mb4存儲表情的更改記錄

前言

?這次對接的美團外賣 發(fā)現(xiàn)美團推送過來的訂單中有表情符號。這些表情符號的存儲問題,再上一個版本中就發(fā)現(xiàn)過。為了最小程度的影響程序,是直接在程序在做了表情過濾的。但是發(fā)現(xiàn)新增的表情太多了,而且編碼也有千奇百怪的,所以這次索性考慮數(shù)據(jù)庫兼容,在開發(fā)環(huán)境數(shù)據(jù)庫測試完成后,發(fā)現(xiàn)utf8編碼轉(zhuǎn)換成utf8mb4沒有出現(xiàn)擔(dān)心的亂碼問題,以前mysql低版本出現(xiàn)過,所以轉(zhuǎn)換前還是最后能備份數(shù)據(jù)。

更改過程

1.數(shù)據(jù)庫更改

?對數(shù)據(jù)庫的編碼更改我沒有使用sql,因為我數(shù)據(jù)庫管理軟件使用了navicat。navicat自帶了編碼修改工具,還是很方便的。
?首先更改數(shù)據(jù)庫編碼


image.png

?然后修改對應(yīng)的列編碼 我這里是沒有更改表編碼的 如果想整體的修改表編碼
再多一步表編碼修改即可


image.png

這里排序規(guī)則選擇了utf8mb4_general_ci 一般會從 utf8mb4_general_ci 和 utf8mb4_unicode_ci里選 我的排序要求沒有那么高 一般選utf8mb4_general_ci也就可以了

2.數(shù)據(jù)庫連接池配置更改

?數(shù)據(jù)連接池使用的是druid。要使用utf8mb4要指定編碼。這個編碼指定比較特殊

String connectionInitSqls = "SET NAMES utf8mb4";
StringTokenizer tokenizer = new StringTokenizer(connectionInitSqls, ";");
druidDataSource.setConnectionInitSqls(Collections.list(tokenizer));//重點設(shè)置該參數(shù)

配置好數(shù)據(jù)庫和連接池后即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,986評論 0 9
  • 由于需要實現(xiàn)emoji表情評論的功能,所以數(shù)據(jù)庫需要支持emoji表情的存儲,根據(jù)查詢的資料最終實現(xiàn)了該功能,現(xiàn)將...
    丶Finley閱讀 1,289評論 0 0
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,457評論 6 13
  • 今天下午上完課奔跑在操場時,偏北上空兩架戰(zhàn)斗機你追我趕,發(fā)動機發(fā)出刺耳的轟鳴聲,抬頭瞬間,正好看到低空兩只小鳥正在...
    迷彩校尉閱讀 542評論 0 3
  • 1.算法?!八惴ā比绾闻c大數(shù)據(jù)相關(guān)?即使算法是一個通用術(shù)語,但大數(shù)據(jù)分析使其在當(dāng)代更受青睞和流行。 2.分析。年末...
    烽火程序猿閱讀 340評論 0 0

友情鏈接更多精彩內(nèi)容