更新时间:2025-04-23 gmt 08:00

如何确保rds for mysql数据库字符集正确-j9九游会登录

rds for mysql的“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. 单击页面左上角的,选择“数据库 > 云数据库 rds”,进入rds信息页面。
  3. “实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数据库登录界面。

    您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“登录”,进入数据管理服务数据库登录界面。

  4. 正确输入数据库用户名和密码,单击“登录”,即可进入您的数据库并进行管理。
  5. 在顶部菜单栏选择“sql操作”>“sql窗口”,打开一个sql窗口。
  6. 在“sql窗口”执行如下sql查看数据库字符集。

    show variables like '%character%';

    图1 sql执行结果
  7. 在“sql窗口”执行如下sql查看数据库的编码。

    show variables like 'collation%';

    图2 sql执行结果
  8. 修改字符集为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;

      sql语句修改的是表的字符集,表里面字段的字符集并没有被修改。

    3. 执行如下sql更改表中所有字段的字符集。

      alter table table_name convert to character set utf8mb4 collate utf8mb4_general_ci;

    • character_set_clientcharacter_set_connection以及character_set_results是客户端的设置。
    • character_set_systemcharacter_set_server以及character_set_database是服务器端的设置。
    • 服务器端的参数优先级是:character_set_database>character_set_server>character_set_system

相关文档

网站地图