MySQL綠色版設置編碼以及1067錯誤詳解

這篇文章主要介紹了mysql綠色版設置編碼,以及1067錯誤的相關資料,需要的朋友可以參考下

MySQL綠色版設置編碼,以及1067錯誤

查看MySQL編碼

SHOW?VARIABLES?LIKE?'char%';

因為當初安裝時指定了字符集為UTF8,所以所有的編碼都是UTF8。

  • character_set_client:你發送的數據必須與client指定的編碼一致!!!服務器會使用該編碼來解讀客戶端發送過來的數據;

  • character_set_connection:通過該編碼與client一致!該編碼不會導致亂碼!當執行的是查詢語句時,客戶端發送過來的數據會先轉換成connection指定的編碼。但只要客戶端發送過來的數據與client指定的編碼一致,那么轉換就不會出現問題;

  • character_set_database:數據庫默認編碼,在創建數據庫時,如果沒有指定編碼,那么默認使用database編碼;

  • character_set_server:MySQL服務器默認編碼;

  • character_set_results:響應的編碼,即查詢結果返回給客戶端的編碼。這說明客戶端必須使用result指定的編碼來解碼;

修改character_set_client、character_set_results、character_set_connection為GBK,  就不會出現亂碼了。但其實只需要修改character_set_client和character_set_results。

控制臺的編碼只能是GBK,而不能修改為UTF8,這就出現一個問題。客戶端發送的數據是GBK,而character_set_client為UTF8,這就說明客戶端數據到了服務器端后一定會出現亂碼。既然不能修改控制臺的編碼,那么只能修改character_set_client為GBK了。

服務器發送給客戶端的數據編碼為character_set_result,它如果是UTF8,那么控制臺使用GBK解碼也一定會出現亂碼。因為無法修改控制臺編碼,所以只能把character_set_result修改為GBK。
填上這句話:

MySQL綠色版設置編碼以及1067錯誤詳解

下面是整體配置:

#?For?advice?on?how?to?change?settings?please?see  #?http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html  #?***?DO?NOT?EDIT?THIS?FILE.?It's?a?template?which?will?be?copied?to?the  #?***?default?location?during?install,?and?will?be?replaced?if?you  #?***?upgrade?to?a?newer?version?of?MySQL.    [mysqld]    basedir?=?H:MySQL  datadir?=?H:MySQLdata      character_set_server?=?utf8?      #?Remove?leading?#?and?set?to?the?amount?of?RAM?for?the?most?!important?data  #?cache?in?MySQL.?Start?at?70%?of?total?RAM?for?dedicated?server,?else?10%.  #?innodb_buffer_pool_size?=?128M    #?Remove?leading?#?to?turn?on?a?very?important?data?integrity?option:?logging  #?changes?to?the?binary?log?between?backups.  #?log_bin    #?These?are?commonly?set,?remove?the?#?and?set?as?required.  #?basedir?=?.....  #?datadir?=?.....  #?port?=?.....  #?server_id?=?.....      #?Remove?leading?#?to?set?options?mainly?useful?for?reporting?servers.  #?The?server?defaults?are?faster?for?transactions?and?fast?SELECTs.  #?Adjust?sizes?as?needed,?experiment?to?find?the?optimal?values.  #?join_buffer_size?=?128M  #?sort_buffer_size?=?2M  #?read_rnd_buffer_size?=?2M?    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES?      [client]  port=3306  default-character-set?=?gbk

1067錯誤

注意my.ini里面的配置不要寫錯了,其實我們很多出現1067錯誤的都是my.ini里面配錯了。

備注:

在windows10中,其實設置default-character-set = utf8,然后在cmd中進行操作也不會亂碼。但是在windows8.1、windows7中就會亂碼。所以在windows8.1、windows7中必須把default-character-set = gbk 設置為gbk

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享