在my.cnf中将MySQL默认字符集更改为UTF-8?

目前,我们正在PHP中使用以下命令将应用程序中的字符集设置为UTF-8

由于这是一点开销,我们希望将其设置为MySQL中的默认设置。我们可以在/etc/my.cnf或其他位置执行此操作吗

设置名称“utf8”
设置字符集utf8

我在/etc/my.cnf中寻找了一个默认的字符集,但是没有关于字符集的内容

此时,我执行了以下操作,将MySQL字符集和排序规则变量设置为UTF-8:

跳过字符集客户端握手
字符集客户端=utf8
字符集服务器=utf8

这是正确的处理方法吗

要将默认值设置为UTF-8,需要将以下内容添加到my.cnf/my.ini

[客户端]
默认字符集=utf8mb4
[mysql]
默认字符集=utf8mb4
[mysqld]
排序规则服务器=utf8mb4\u unicode\u 520\u ci
init connect='SET NAMES utf8mb4'
字符集服务器=utf8mb4

如果要更改现有数据库的字符集,请告诉我。。。你的问题没有直接说明,所以我不确定你是否想这么做

编辑:我将原始答案中的utf8替换为utf8mb4,因为utf8只是UTF-8的一个子集。MySQL和MariaDB都调用UTF-8utf8mb4

发表评论