MySQL資料庫 預設編碼已經是 utf8 了, default-character-set = utf8,可是向資料庫中表中插入中文時,卻老是出現 ....\xB5\xA5\xD1\xA1 for column...這樣的錯誤,經過查閱網上類型的錯誤後,發現一個很奇妙的現象,接下來我們就來開始介紹。 一、在安裝數
MySQL資料庫預設編碼已經是utf8了, default-character-set = utf8,可是向資料庫中表中插入中文時,卻老是出現 ....\xB5\xA5\xD1\xA1 for column...這樣的錯誤,經過查閱網上類型的錯誤後,發現一個很奇妙的現象,接下來我們就來開始介紹。
一、在安裝資料庫時就設定字元集編碼為utf8的環境下
1.在目前字元集編碼為:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
下建立資料庫:
(1)插入中文資料,操作不能成功。
(2)修改字元集編碼為:
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
插入中文資料,顯示正常。
二、在安裝資料庫時就設定字元集編碼為gbk的環境下
1.目前字元集編碼是:
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
下建立資料,插入中文資料,操作正常,顯示正常。
2.目前字元集編碼為utf8:
Server characterset: gbk
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
3.目前字元集編碼為utf8:
Server characterset: gbk
Db characterset: gbk
Client characterset: utf8
Conn. characterset: utf8
插入中文資料,操作不能執行。
結論:要想能向資料庫正常插入中文,必須滿足以下條件:
1.要把字元集設定為能支援中文的gbk或則utf8;
2.把資料庫的Client Characterset和Conn. Characterset的字元集都設定為gbk;
根據上面的提示 ,我更改了:
SETcharacter_set_client=gbk;
SETcharacter_set_connection=gbk;
之後再嘗試想資料庫插入中文,這時沒有出錯,能插入可是查詢出來是亂碼。
最後再更改;
SETcharacter_set_results=gbk;
這樣之後,所有的問題都解決了,能正常插入也能正常顯示了。
另附檢視字元集指令
5.檢視字元集設定
mysql> show variables like 'collation_%';
mysql> show variables like 'character_set_%';
修改字元集
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results=utf8;
mysql> set character_set_server=utf8;
mysql> set character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;

本文原創釋出php中文網,轉載請注明出處,感謝您的尊重!