MySQL命令行操作時的編碼問題詳解

1.查看MySQL數據庫編碼

mysql -u用戶名 -p密碼
show variables like 'char%';

2.編碼解釋

1.character_set_client:MySQL會使用該編碼來解讀客戶端發送來的數據,如果該字段編碼為utf8,那麼如果客戶端發送過來的數據不是utf8,就會出現亂碼現象。

2.character_set_results:MySQL會把數據轉換成該編碼後,再發送給客戶端,例如該編碼為utf8,那麼如果客戶端不使用utf8來解讀,那麼就會出現亂碼現象。

3.控制臺亂碼問題

3.1 插入或修改時出現亂碼

原因:cmd命令行默認使用gbk編碼,而character_set_client卻為utf8。

解決:

set character_set_client = gbk;

3.2 查詢出的數據出現亂碼

原因:cmd命令行默認使用gbk編碼,而set character_set_results卻為utf8。

解決:

set character_set_results = gbk;

4.指定默認編碼

上述解決辦法隻對當前連接有效,當退出窗口後,再次登錄MySQL還需再次設置變量,因此為瞭一勞永逸我們可以在MySQL安裝目錄下的my.ini中設置

將其改為 gbk即可:

查看效果:

至此,我們MySQL在命令行操作的編碼問題便成功解決瞭~!

總結

到此這篇關於MySQL命令行操作時的編碼問題詳解的文章就介紹到這瞭,更多相關MySQL命令行操作編碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀:

    None Found