问题摘要:
在用php更新数据库数据的时候出现了中文乱码问题,之前也遇到过,今天解决了,mark一下。
首先看一下自己数据库的编码设置:
命令:SHOW variables like 'char%';
mysql的默认编码是Latin1,不支持中文,所以可以改为utf8,我的服务器是腾讯云的,系统为centos,要修改配置文件my.cnf
这个文件在 /etc/my.cnf,找到并vim打开。
在[client]和[mysqld]字段下面均添加default-character-set=utf8,保存并关闭,之后重启mysql(mariadb)服务(systemctl restart mariadb.service 或者 systemctl restart mysqld.service),如果mysql的版本为5.5以上的话,mysqld]下添加的应该为:
character-set-server=utf8
collation-server=utf8_general_ci
重启过后再次查看字符编码
如果是这种的话,就解决了。