天天看點

php mysql 無法插入_mysql 無法插入中文

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 mysql 無法插入_mysql 無法插入中文

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