TaurusDB的“utf8”只支持每個字符最多三個字節,而真正的UTF-8是每個字符最多四個字節。包括Emoji表情(Emoji是一種特殊的Unicode編碼,常見于手機上),和很多不常用的漢字,以及任何新增的Unicode字符等都無法使用Mysql的utf8字符集存儲。在2010年MySQL發布了“utf8mb4”的字符集。MySQL在5.5.3之后增加了utf8mb4的編碼,兼容四字節的unicode。utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉換。
數據管理服務(Data Admin Service,簡稱DAS)是一款專業的簡化數據庫管理工具,您可以通過數據管理服務(Data Admin Service,簡稱DAS)SQL控制臺查看數據庫和系統的字符集。
操作步驟
步驟 1 登錄管理控制臺。
步驟 2 單擊管理控制臺右上角的
,選擇Region。
步驟 3 在頁面左上角單擊
,選擇“數據庫 > 云數據庫TaurusDB”。
步驟 4 在“實例管理”頁面,選擇目標實例,單擊操作列的“登錄”,進入數據管理服務數據庫登錄界面。
您也可以在“實例管理”頁面,單擊目標實例名稱,在頁面右上角,單擊“登錄”,進入數據管理服務數據庫登錄界面。
步驟 5 輸入數據庫用戶名和密碼,單擊“登錄”,即可進入您的數據庫并進行管理。
步驟 6 在頂部菜單欄選擇“SQL操作”>“SQL查詢”,打開一個SQL窗口。
步驟 7 在“SQL查詢”執行如下SQL查看數據庫字符集。
show variables like '%character%';
圖 SQL執行結果


步驟 8 在“SQL查詢”執行如下SQL查看數據庫的編碼。
show variables like 'collation%';
圖 SQL執行結果


步驟 8 修改字符集為utf8mb4。
- 執行如下SQL更改數據庫字符集。
ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 執行如下SQL更改表字符集。
ALTER TABLE TABLE_NAMEDEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
說明SQL語句修改的是表的字符集,表里面字段的字符集并沒有被修改。
- 執行如下SQL更改表中所有字段的字符集。
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
說明
character_set_client、character_set_connection以及character_set_results是客戶端的設置。
character_set_system、character_set_server以及character_set_database是服務器端的設置。
服務器端的參數優先級是:character_set_database>character_set_server>character_set_system。