MySQL綠色版設置編碼以及1067錯誤詳解。本站提示廣大學習愛好者:(MySQL綠色版設置編碼以及1067錯誤詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL綠色版設置編碼以及1067錯誤詳解正文
投稿:lqh
這篇文章主要介紹了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。
填上這句話:
下面是整體配置:
# 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:\MySQL\data 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
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!