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;
根據上面的提示 ,我更改了:
- SET character_set_client=gbk;
- SET character_set_connection=gbk;
之後再嘗試想數據庫插入中文,這時沒有出錯,能插入可是查詢出來是亂碼。
最後再更改;
- SET character_set_results=gbk;
這樣之後,所有的問題都解決了,能正常插入也能正常顯示了。
關於MySQL數據庫正常插入中文數據並能正常顯示的條件就介紹到這裡,希望通過本次的介紹能夠帶給您一些收獲吧!