今天在测试环境上出现了乱码,但是同样的程序在正式环境(阿里云)没有乱码。查看了一下MySQL编码发现,测试环境的编码不全是utf8。所以需要将mysql的编码都设置成utf8。正式环境和测试环境的mysql编码截图如下:
解决方案如下:
1、将mysql的安装目录的my-default.ini复制一份,重命名为my.ini(因为mysql5.6没有my.ini文件)
2、将my.ini内容添加如下内容,红色框内是修改部分:
[mysql]
port=3306
default-character-set=utf8
[mysqld]
character-set-server=utf8
修改后的内容截图如下:
3、重启mysql服务,编码修改结束。
查看一下mysql修改后的编码:SHOW VARIABLES LIKE ‘%character%’。应该都是utf8.再次向数据库插入数据,没有乱码。