原因
導致數據庫亂碼的原因有三個原因
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,解決完成,但是還需要注意:修改後原先建的表要刪除了再建過纔不會有編碼錯誤的提示!!!!