mysql 中文乱码问题

问题摘要:

在用php更新数据库数据的时候出现了中文乱码问题,之前也遇到过,今天解决了,mark一下。

首先看一下自己数据库的编码设置:

命令:SHOW variables like 'char%';

mysql 中文乱码问题

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

mysql 中文乱码问题

重启过后再次查看字符编码

mysql 中文乱码问题

如果是这种的话,就解决了。