目前我们在PHP中使用以下命令在应用程序中将字符集设置为UTF-8。
因为这有点开销,所以我们希望将其设置为MySQL中的默认设置。我们可以在/etc/my.cnf或其他位置这样做吗?
SET NAMES 'utf8'
SET CHARACTER SET utf8
我在/etc/my.cnf中寻找了一个默认字符集,但那里没有关于字符集的任何内容。
在这一点上,我做了以下设置MySQL字符集和排序变量为UTF-8:
skip-character-set-client-handshake
character_set_client=utf8
character_set_server=utf8
这是正确的处理方式吗?
要将默认值设置为UTF-8,您需要将以下内容添加到my.cnf/my.ini
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_520_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
如果您想更改现有数据库的字符集,请告诉我…你的问题没有直接说明,所以我不确定这是否是你想要做的。
编辑:我在原始答案中用utf8mb4替换了utf8,因为utf8只是UTF-8的一个子集。MySQL和MariaDB都调用UTF-8 utf8mb4。