首頁  >  文章  >  資料庫  >  MySQL中關於查詢字元集不符的問題解決

MySQL中關於查詢字元集不符的問題解決

黄舟
黄舟原創
2017-08-09 14:18:201614瀏覽

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

發現問題

最近在工作上遇到一個問題,MySQL資料庫建立表格的時候採用的是latin的字元集,而網頁中查詢的是utf-8,當輸入頁面輸入中文,然後再資料庫查詢的時候,就會報出ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collat​​ions (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 collat​​ions MySQL Error

在PHP中設定資料庫的字元集為utf-8


mysqli_set_charset($dbc,'utf8');

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


<meta charset="utf-8">

總結

以上是MySQL中關於查詢字元集不符的問題解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn