使用 PHPMyAdmin 将 MySQL-Charset 从 utf8 更改为 utf8mb4

Change MySQL-Charset from utf8 to utf8mb4 with PHPMyAdmin

当我想使用 PHPMyAdmin 将 MySQL-Charset 从 utf8 (utf8_general_ci) 更改为 utf8mb4 (utf8_unicode_ci) 时,执行这些操作就足够了事情?

  1. 将数据库排序规则更改为 "utf8_unicode_ci"
  2. 将表格排序规则更改为 "utf8_unicodel_ci"
  3. 将每个文本列更改为 "utf8_unicodel_ci"
  4. 将我的 PHP 代码中的 set_charset 更改为 "utf8mb4"

这是正确的还是缺少什​​么?哪里会出问题?

所有联盟都一样:

  • 对于数据库 - utf8mb4_unicode_ci
  • table - utf8mb4_unicode_ci
  • 列 - utf8mb4_unicode_ci

如果您想通过混合联盟避免字符串函数的特征错误,还可以为服务器设置默认联盟:

edit my.cnf (my.ini):
[mysqld]
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4

因为如果您在功能中创建新的 tables 不是手动的,而是来自脚本 - 它会创建所有新的 tables 与服务器设置的默认值,并且字符串函数可能会停止正常工作