【发布时间】:2015-04-16 22:12:25
【问题描述】:
为了在 MySQL (5.6.11) 中使用 4 字节的utf8mb4,我在my.ini 文件中设置了以下变量(未找到my.cnf)。此文件位于 Windows XP 上名为 Application Data (C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6) 的隐藏文件夹中。安装目录下不可用。
[client]
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init-connect='SET NAMES utf8mb4'
collation_server=utf8mb4_unicode_ci
character_set_server=utf8mb4
然后发出以下命令,
SHOW VARIABLES
WHERE Variable_name
LIKE 'character\_set\_%'
OR Variable_name LIKE 'collation%';
仍然显示以下列表。
从图片本身可以看出有几个变量还在使用3字节utf8。
在执行此操作之前,已发出以下命令以对数据库本身进行相应的更改。
ALTER DATABASE database_name
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
并且在所述数据库中的每个表上也发出了以下命令。
ALTER TABLE table_name
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
但是,为什么某些变量尚未设置为所述字符集以及排序规则的原因是什么?缺少什么?
系统(操作系统)本身在上面指定的每一项任务都执行后重新启动。
【问题讨论】:
-
警告:user=root(或其他超级用户)不会执行
init-connect='SET NAMES utf8mb4'。
标签: mysql utf-8 character-encoding mysql-5.6 utf8mb4