mysql查詢出現錯誤
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
error code:HY000
此問題是因查詢對應的資料表欄位編碼設定不同,如上的錯誤就是有一個是使用utf8_general_ci,另一個編碼使用了utf8_unicode_ci編碼,
只須把2個對應資料表的對應欄位皆改為使用相同編碼即可。
此問題不僅是2個資料表的關聯查詢欄位不同編碼會出現錯誤,使用function查詢不同資料表的對應欄位也會出現問題。
例如:先由a資料表讀取dt_name,這個欄位是utf8_general_ci,程式設了另一個function,function中用dt_name的參數來取得另一個b資料表的對應dt_name,以取得在b資料表中的資料表其它欄位內容,而b資料表的dt_name設定的編碼是utf8_unicode_ci,執行call function時也會造成錯誤。