# 如何修改TaurusDB数据库字符集
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）是一款专业的简化数据库管理工具，您可以通过数据管理服务SQL控制台查看数据库和系统的字符集。
#### 操作步骤
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 在"实例管理"页面，选择目标实例，单击操作列的"登录"，进入数据管理服务数据库登录界面。 
   您也可以在"实例管理"页面，单击目标实例名称，在页面右上角，单击"登录"，进入数据管理服务数据库登录界面。
   
   
3. 输入数据库用户名和密码，单击"登录"，即可进入您的数据库并进行管理。
4. 在顶部菜单栏选择"SQL操作 \> SQL窗口"，打开一个SQL窗口。
5. 执行如下SQL，查看数据库字符集。 
   ```
   show variables like '%character%';
   ```
   图1SQL执行结果   
   ![](https://support.huaweicloud.com/taurusdb_faq/figure/zh-cn_image_0000001882731100.png "点击放大")
   
   
6. 执行如下SQL查看数据库的编码。 
   ```
   show variables like 'collation%';
   ```
   图2SQL执行结果   
   ![](https://support.huaweicloud.com/taurusdb_faq/figure/zh-cn_image_0000001882571172.png "点击放大")
   
   
7. 修改字符集为utf8mb4。 
   1. 执行如下SQL更改数据库字符集。
      ```
      ALTER DATABASE DATABASE_NAME  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
      ```
      
   
   2. 执行如下SQL更改表字符集。
      ```
      ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
      ```
      ![](https://support.huaweicloud.com/taurusdb_faq/public_sys-resources/note_3.0-zh-cn.png)
      SQL语句修改的是表的字符集，表里面字段的字符集并没有被修改。
      
   
   3. 执行如下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**。
       
   
   
   
   
