如果无论前端数据、后端数据都是uft-8编码,程序上找不出任何问题,但是仍然出现插入数据库乱码,那么有可能就是mysql数据库服务器本身字符集编码有问题
用mysql-front连接上数据库后执行:show variables like 'character%';
可以发现,character_set_server这里的字符集编码是latin1
修改/etc/my.cnf文件,修改添加character-set-server=utf8这一行
[root@localhost ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql default-storage-engine=INNODB character-set-server=utf8 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
重启mysql服务器
service mysqld restart
查看mysql服务器字符编码集
这样以后就不会有乱码了。
转载于:https://my.oschina.net/u/555061/blog/531126