發現問題
最近在工作中遇到一個問題,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就可以了
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- MySQL查看與修改字符集的方法實例教程
- 如何修改MySQL字符集
- mysql數據庫中字符集亂碼問題原因及解決
- MySQL字符集utf8修改為utf8mb4的方法步驟
- mysql如何在已有數據庫上統一字符集
- MySQL字符集亂碼及解決方案分享
- 詳解JDBC對Mysql utf8mb4字符集的處理
- MySQL中因字段字符集不同導致索引不能命中的解決方法
- MAC下修改mysql默認字符集為utf8的方法
- Docker下mysql設置字符集的方法
- 詳解mysql中的字符集和校驗規則