《Mysql學(xué)習(xí)關(guān)于mysql查詢字符集不匹配問題的解決方法》要點:
本文介紹了Mysql學(xué)習(xí)關(guān)于mysql查詢字符集不匹配問題的解決方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
發(fā)現(xiàn)問題MYSQL數(shù)據(jù)庫
最近在工作中遇到一個問題,MySQL數(shù)據(jù)庫建表的時候采用的是latin的字符集,而網(wǎng)頁中查詢的是utf-8,當輸入頁面輸入中文,然后再數(shù)據(jù)庫中查詢的時候,就會報出 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
這個錯誤,所以在stackover flow 中找到了對這個數(shù)據(jù)庫,以及數(shù)據(jù)表中進行更改字符集的方法.MYSQL數(shù)據(jù)庫
SET collation_connection = 'utf8_general_ci'
注意:要替換下面兩句中替換成你的數(shù)據(jù)庫名稱和你的數(shù)據(jù)表名稱MYSQL數(shù)據(jù)庫
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
這樣就保證了數(shù)據(jù)庫也為utf-8的字符集了,就不會在用中文輸入時候,查詢數(shù)據(jù)庫中的內(nèi)容產(chǎn)生錯誤了.MYSQL數(shù)據(jù)庫
reference:Illegal mix of collations MySQL ErrorMYSQL數(shù)據(jù)庫
在PHP中設(shè)置數(shù)據(jù)庫的字符集為utf-8MYSQL數(shù)據(jù)庫
mysqli_set_charset($dbc,'utf8');
在html中添加顯示utf-8的meta就可以了MYSQL數(shù)據(jù)庫
<meta charset="utf-8">
總結(jié)MYSQL數(shù)據(jù)庫
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對維易PHP的支持.
MYSQL數(shù)據(jù)庫
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5353.html