原因
导致数据库乱码的原因有三个原因
1.client客户端(cmd命令行或者任何链接数据库可视化窗口软件)的编码不是utf8
2.server端的编码不是utf8
3.数据库的编码不是utf8
4.数据库中表的编码不是utf8
解决
最好将之前的my.ini文件做备份(my_bak.ini),防止数据库不能打开
针对1:在mysql的my.ini文件[client]下中添加客户端编码
[client]
default-character-set=utf8
针对2:在mysql的my.ini文件中[mysqld]下添加服务端编码
[mysqld]
character_set_server = utf8
针对3:在客户端输入:
alter database <数据库名> character set utf8
针对4:在客户端进入表所属的数据库中,输入
alter table <表名> character set utf8;
更改完成后再客户端输入show variables like '%char%' 可以查看数据库的编码
可以发现所有的编码格式都更改为了utf8,解决完成,但是还需要注意:修改后原先建的表要删除了再建过才不会有编码错误的提示!!!!