在CMD中操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼解決方案
2017-10-11 18:41:08
12165
在CMD中操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼解決方案
百度了一下。有說將cmd字符編碼用chcp命令改為65001(utf8字符編碼),可這樣之后根本無法輸入中文,查詢出的中問結(jié)果依舊亂碼 。
其實(shí),只要保證cmd客戶端和MySQL兩者編碼一致即可。
但現(xiàn)實(shí)是cmd默認(rèn)的是gbk(cmd屬性可以看到中文操作系統(tǒng)下面是gbk編碼),而mySQL一般是utf8(我的也是),之前一直進(jìn)入誤區(qū),想要更改cmd的字符編碼,可是并不能行得通。網(wǎng)友中提到在mysql中關(guān)于客戶端編碼問題,只需在cmd里告訴mysql服務(wù)器我客戶端這邊編碼和想要的結(jié)果集編碼即可。
具體步驟:
1、win+r進(jìn)入cmd,然后切到mysql安裝目錄的bin文件夾下(或者直接打開我的電腦找到bin文件夾,在上方地址欄輸入cmd);
2、輸入 mysql -uroot -p,然后按提示輸入密碼計(jì)入數(shù)據(jù)庫;
3、設(shè)置編碼;
此時(shí)輸入 set character_set_client=gbk;告訴我客戶端這邊的文字編碼
再輸入set character_set_results=gbk; 告訴mysql希望返回的結(jié)果集編碼;實(shí)驗(yàn)中發(fā)現(xiàn)只要客戶端是gbk編碼的,只要設(shè)置這個(gè)就可以解決亂碼這個(gè)問題。
還有另外一個(gè)好用的命令可以同時(shí)達(dá)到上面兩條指令的效果:
set charset gbk;//和上面兩個(gè)效果一致。
大功告成!去插入中文字段試試吧!