MySQL數(shù)據(jù)庫正常插入并顯示中文數(shù)據(jù)需滿足的條件
MySQL數(shù)據(jù)庫默認編碼已經是utf8了, default-character-set = utf8,可是向數(shù)據(jù)庫中表中插入中文時,卻老是出現(xiàn) ....\xB5\xA5\xD1\xA1 for column...這樣的錯誤,經過查閱網上類型的錯誤后,發(fā)現(xiàn)一個很奇妙的現(xiàn)象,接下來我們就來開始介紹。
一、在安裝數(shù)據(jù)庫時就設定字符集編碼為utf8的環(huán)境下
1.在當前字符集編碼為:
- Server characterset: utf8
- Db characterset: utf8
- Client characterset: utf8
- Conn. characterset: utf8
下創(chuàng)建數(shù)據(jù)庫:
(1)插入中文數(shù)據(jù),操作不能成功。
(2)修改字符集編碼為:
- Server characterset: utf8
- Db characterset: utf8
- Client characterset: gbk
- Conn. characterset: gbk
插入中文數(shù)據(jù),顯示正常。
二、在安裝數(shù)據(jù)庫時就設定字符集編碼為gbk的環(huán)境下
1.當前字符集編碼是:
- Server characterset: gbk
- Db characterset: gbk
- Client characterset: gbk
- Conn. characterset: gbk
下創(chuàng)建數(shù)據(jù),插入中文數(shù)據(jù),操作正常,顯示正常。
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
插入中文數(shù)據(jù),操作不能執(zhí)行。
結論:要想能向數(shù)據(jù)庫正常插入中文,必須滿足以下條件:
1.要把字符集設定為能支持中文的gbk或則utf8;
2.把數(shù)據(jù)庫的Client Characterset和Conn. Characterset的字符集都設定為gbk;
根據(jù)上面的提示 ,我更改了:
- SET character_set_client=gbk;
- SET character_set_connection=gbk;
之后再嘗試想數(shù)據(jù)庫插入中文,這時沒有出錯,能插入可是查詢出來是亂碼。
***再更改;
- SET character_set_results=gbk;
這樣之后,所有的問題都解決了,能正常插入也能正常顯示了。
關于MySQL數(shù)據(jù)庫正常插入中文數(shù)據(jù)并能正常顯示的條件就介紹到這里,希望通過本次的介紹能夠帶給您一些收獲吧!
【編輯推薦】