MySQL中關于查詢字符集不匹配的問題解決

這篇文章主要給大家介紹了關于mysql查詢字符集不匹配問題的解決方法,文中通過示例代碼給大家介紹的非常詳細,對同樣遇到這個問題的朋友們具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。

發現問題

最近在工作中遇到一個問題,mysql數據庫建表的時候采用的是latin的字符集,而網頁中查詢的是utf-8,當輸入頁面輸入中文,然后再數據庫中查詢的時候,就會報出 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’ 這個錯誤,所以在stackover flow 中找到了對這個數據庫,以及數據表中進行更改字符集的方法。

SET?collation_connection?=?'utf8_general_ci'

注意:要替換下面兩句中替換成你的數據庫名稱和你的數據表名稱

ALTER?DATABASE?your_database_name?CHARACTER?SET?utf8?COLLATE?utf8_general_ci?  ?  ALTER?TABLE?your_table_name?CONVERT?TO?CHARACTER?SET?utf8?COLLATE?utf8_general_ci

這樣就保證了數據庫也為utf-8的字符集了,就不會在用中文輸入時候,查詢數據庫中的內容產生錯誤了。

reference:Illegal mix of collations MySQL Error

在PHP中設置數據庫的字符集為utf-8

mysqli_set_charset($dbc,'utf8');

在html中添加顯示utf-8的meta就可以了

<meta>

總結

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享