聲明:菜鳥剛學沒啥技術,找了許久這樣解決了。
win10平台 linux環境不知道
一、首先連接數據庫輸入以下命令
show variables like "%chara%";
目標就是修改成上圖樣子
我們看一下每行代表什么
character_set_client :客戶端數據使用字符集
character_set_connection:連接數據庫時使用的字符集,如果程序沒有指定編碼則使用這個編碼
character_set_database:當前數據庫使用的字符集
character_set_filesystem:文件系統的編碼格式,把os上的文件名轉化成此字符集,默認binary不做任何轉換的。(不影響亂碼)
character_set_results:查詢結果字符集也就是數據庫給客戶端返回時的編碼
character_set_server:默認內部操作字符集也就是服務器安裝時指定的默認編碼
character_set_system:系統元數據(字段名等)字符集 (不影響亂碼)
character_sets_dir:看不懂,也不用改(不影響亂碼)
注意:
set character_set_XXX = “uft8”;
該語句不是永久有效,只對當前連接有效,所以最有效的就是修改本地 my.ini 文件
二、找到本地my.ini文件
(在這剛好推薦一個本地文件檢索工具 軟件名:everything )
查詢文件超級快
找到文件后打開
找到下面三個地方
①
[mysql]
no-beep
# default-character-set=utf8
②
[mysqld]
character-set-server=utf8(一般這邊沒有這條語句先找③那個)
③
# The default character set that will be used when a new schema or table is
# created and no character set is defined
# character-set-server=utf8(把這句話復制到第二條位置)
三、修改表的字符集,重啟服務
這是修改表的字符集語句(login換成你想修改的表)
alter table login convert to character set utf8;
win+R鍵輸入
找到mysql服務重啟
重啟后輸入以下語句查詢是否更改成功
show variables like "%chara%";
還有注意在連接的時候選擇使用MySQL字符集,不然白改了
四、測試
這是修改之前
修改之后
五、OK問題解決,開始喝茶