溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么處理Mysql中utf8字符集缺陷問題

發(fā)布時間:2021-06-15 14:57:20 來源:億速云 閱讀:232 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)怎么處理Mysql中utf8字符集缺陷問題的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Mysql utf8 字符集缺陷問題處理 (emoji符號問題,微信、支付寶、QQ昵稱)

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

由于Mysql中使用了非標(biāo)準(zhǔn)的utf8字符集(utf8mb3),所以需要手動修改字符集類型, 如下

ALTER TABLE `user`
  CHANGE COLUMN `username` `username` VARCHAR(50) CHARSET utf8mb4 COLLATE utf8mb4_general_ci  NULL DEFAULT NULL COMMENT '用戶名稱' AFTER `password`;

2. JDBC連接設(shè)置

參考 connector-j-reference-charset 可以看到如果程序要插入 utf8mb4 字符, 需要滿足以下條件:

Connector/J 5.1.47 及以上版本:
  1. 指定 characterEncoding 參數(shù)為 UTF8/UTF-8 即可, 新版本直接映射到 utf8mb4 編碼;
  2. 如果 connectionCollation 指定的排序規(guī)則不是 utf8mb4 相關(guān)的, 則 characterEncoding 參數(shù)會重寫為排序規(guī)則對應(yīng)的編碼;

Connector/J 5.1.47 以下版本:
  1. 設(shè)置 MySQL 參數(shù)變量 character_set_server=utf8mb4;
  2. 指定 characterEncoding 參數(shù)為 UTF8/UTF-8, jdbc 程序會進行探測是否使用 utf8mb4;

程序升級版本至 Connector/J 5.1.47 即可解決

感謝各位的閱讀!關(guān)于“怎么處理Mysql中utf8字符集缺陷問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI