从 MySQL 8.0 开始, utf8mb4 是默认字符集, utf8mb4 的默认排序规则是 utf8mb4_0900_ai_ci。MySQL 8.0 还为 utf8mb4 字符集提供了一整套新的 Unicode 排序规则。
这将允许在 MySQL 中使用完整的 Unicode 9.0.0 字符集。
MySQL 5.7 以下版本在创建数据库时, 如果选择了 UTF-8 (utf8mb4) 编码格式, 但在使用 PDM 生成的脚本导入后发现表和字段的编码格式却是 GBK, 可以通过以下几种方法进行修改。
修改表的默认编码格式
作用: 修改表的默认字符集为 UTF-8 (utf8mb4)。
注意: 这只会影响新添加的字段, 现有字段的编码格式不会改变。
ALTER TABLE `table` DEFAULT CHARACTER SET utf8mb4;
修改字段的编码格式
作用: 单独修改某个字段的编码格式为 UTF-8 (utf8mb4)。
缺点: 每次只能修改一个字段, 操作繁琐。
ALTER TABLE `tablename` CHANGE `Name1` `Name2` VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL;
一次性修改整张表的所有字段编码格式
作用: 将整张表的所有字段的编码格式更改为 UTF-8 (utf8mb4)。
优点: 方便快捷, 适用于需要批量修改字段编码格式的场景。
ALTER TABLE `tablename` CONVERT TO CHARACTER SET utf8mb4;
原文
MySQL 8.0 Collations: Migrating from older collations
mysql修改数据库表和表中的字段的编码格式的修改