首頁  >  文章  >  資料庫  >  MySQL綠色版設定編碼以及1067錯誤詳解

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

巴扎黑
巴扎黑原創
2017-05-14 14:12:331195瀏覽

這篇文章主要介紹了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:\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

以上是MySQL綠色版設定編碼以及1067錯誤詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn