RDS MySQL使用utf8mb4字符集存儲emoji表情
更新時間:
RDS MySQL插入emoji表情報錯error code [1366]; Incorrect string value: 'xx'是因為utf8字符集的一個字符最多占用3個字節(jié),而一個emoji表情占用4個字節(jié)。您可以改為使用utf8mb4字符集以支持存儲emoji表情。
基本原則
如果要實現(xiàn)存儲emoji表情到RDS MySQL實例,需要客戶端、到RDS實例的會話連接、RDS實例三個方面統(tǒng)一使用utf8mb4字符集。
客戶端:客戶端需要保證輸出字符串的字符集為utf8mb4。
到RDS實例的會話連接:支持utf8mb4字符集。以常見的JDBC連接為例,需要使用MySQL Connector/J 5.1.13及以上的版本,JDBC的連接串中,建議不配置characterEncoding選項。
RDS實例:在RDS控制臺將character_set_server參數(shù)設(shè)置為utf8mb4,且數(shù)據(jù)庫和表的字符集也要設(shè)置為utf8mb4。
修改字符集
如果字符集不符合以上基本原則,請參見RDS for MySQL字符集相關(guān)說明修改字符集。
說明
說明:由utf8修改為utf8mb4字符集不會影響之后的數(shù)據(jù)質(zhì)量,且已經(jīng)存在的數(shù)據(jù)也不受影響,但是數(shù)據(jù)存儲空間會有所增加。
文檔內(nèi)容是否對您有幫助?