使用 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) 时,执行这些操作就足够了事情?
- 将数据库排序规则更改为 "utf8_unicode_ci"
- 将表格排序规则更改为 "utf8_unicodel_ci"
- 将每个文本列更改为 "utf8_unicodel_ci"
- 将我的 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 与服务器设置的默认值,并且字符串函数可能会停止正常工作
当我想使用 PHPMyAdmin 将 MySQL-Charset 从 utf8 (utf8_general_ci) 更改为 utf8mb4 (utf8_unicode_ci) 时,执行这些操作就足够了事情?
- 将数据库排序规则更改为 "utf8_unicode_ci"
- 将表格排序规则更改为 "utf8_unicodel_ci"
- 将每个文本列更改为 "utf8_unicodel_ci"
- 将我的 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 与服务器设置的默认值,并且字符串函数可能会停止正常工作