设置字符集无效
这是修改之前的字符集
https://img-mid.csdnimg.cn/release/static/image/mid/ask/146804423286150.png
这是我修改字符集的代码
https://img-mid.csdnimg.cn/release/static/image/mid/ask/11158642328614.png
修改之后变成这样
https://img-mid.csdnimg.cn/release/static/image/mid/ask/570274423286190.png
但是重启之后它又还原成之前那样
https://img-mid.csdnimg.cn/release/static/image/mid/ask/627835423286140.png
你想重启数据库之后还有效,去改my.ini
不知道你这个问题是否已经解决, 如果还没有解决的话:在MySQL中修改数据库编码可以通过以下步骤实现:
SHOW VARIABLES LIKE 'character_set_database';
sudo service mysql stop
/etc/mysql/my.cnf
/etc/my.cnf
/usr/local/mysql/etc/my.cnf
添加以下内容:
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
这里使用的编码是utf8mb4,可以根据需要使用其他编码例如utf8或者gbk。
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这里将database_name替换成需要修改编码的数据库名称。
FLUSH PRIVILEGES;
这样就可以成功修改MySQL的数据库编码了。
如果设置字符集后重启MySQL又还原成了之前的字符集,可能是因为MySQL的配置文件my.cnf没有保存修改。需要确认my.cnf文件的权限是否正确,修改my.cnf文件权限并保存修改:
chmod 644 /etc/mysql/my.cnf
sudo service mysql start
然后重新启动MySQL服务,就可以正常使用修改后的编码了。
如果还存在问题,可以在命令行中手动执行命令修改编码,例如:
SET character_set_database=utf8mb4;