1. 程式人生 > >MySQL CMD命令列中文出現亂碼

MySQL CMD命令列中文出現亂碼

為什麼會出現中文亂碼呢?
這是因為Windows的CMD預設編碼是GBK,MySQL裡面是按照UTF-8編碼儲存資料的,所以CMD不支援自然就亂碼了。而剛才我們使用到的Navicat工具,由於它本身的編碼被設定為utf-8,所以我們的各種操作都能正常進行。

解決方案
在輸入SQL語句前先設定編碼:set names gbk;或者SET NAMES GB2312; 再輸入SQL。


為什麼這樣設定就能正常顯示utf-8編碼的資料呢?
請看圖:

可以看到,client,connection和result的編碼已經設定為gbk了,但server,database,system的編碼還是utf-8!這就是說,雖然資料是使用utf-8編碼儲存的,但是客戶端以及返回的結果集是gbk的,而此時cmd視窗的編碼正好是gbk,因此該結果集能正確顯示了。
--------------------- 
作者:DunYLin 
來源:CSDN 
原文:https://blog.csdn.net/dunylin/article/details/54947865 
版權宣告:本文為博主原創文章,轉載請附上博文連結!