如何将整个MySQL数据库的字符集和排序规则转换为UTF-8?
-
备份!
-
然后需要在数据库上设置默认字符集。这不会转换现有表,只会为新增表设置默认字符集。
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
-
接下来,需要将所有现有表和其列的字符集进行转换。这假设您当前的数据实际上是在当前字符集中的。如果您的列设置为一个字符集,但您的数据实际上是存储在另一个字符集中的,则需要查看MySQL手册以了解如何处理此问题。
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
使用ALTER DATABASE
和ALTER TABLE
命令。
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
或者如果你仍然在使用MySQL 5.5.2或更早的版本,这些版本不支持4字节UTF-8,则需使用utf8
替代utf8mb4
:
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;