0

当我想用 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”

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

4

1 回答 1

4

所有联盟都一样:

  • 用于数据库 - utf8mb4_unicode_ci
  • 表 - 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

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

于 2015-11-15T13:11:40.720 回答