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