主頁(yè) > 知識(shí)庫(kù) > 關(guān)于mysql查詢字符集不匹配問題的解決方法

關(guān)于mysql查詢字符集不匹配問題的解決方法

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 Linux服務(wù)器 AI電銷 網(wǎng)站排名優(yōu)化 服務(wù)外包 百度競(jìng)價(jià)排名 地方門戶網(wǎng)站

發(fā)現(xiàn)問題

最近在工作中遇到一個(gè)問題,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)行更改字符集的方法。

SET collation_connection = 'utf8_general_ci' 

注意:要替換下面兩句中替換成你的數(shù)據(jù)庫(kù)名稱和你的數(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ù)庫(kù)也為utf-8的字符集了,就不會(huì)在用中文輸入時(shí)候,查詢數(shù)據(jù)庫(kù)中的內(nèi)容產(chǎn)生錯(cuò)誤了。

reference:Illegal mix of collations MySQL Error

在PHP中設(shè)置數(shù)據(jù)庫(kù)的字符集為utf-8

mysqli_set_charset($dbc,'utf8'); 

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

meta charset="utf-8"> 

總結(jié)

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • MySQL查看與修改字符集的方法實(shí)例教程
  • 如何修改MySQL字符集
  • mysql數(shù)據(jù)庫(kù)中字符集亂碼問題原因及解決
  • MySQL字符集utf8修改為utf8mb4的方法步驟
  • mysql如何在已有數(shù)據(jù)庫(kù)上統(tǒng)一字符集
  • MySQL字符集亂碼及解決方案分享
  • 詳解JDBC對(duì)Mysql utf8mb4字符集的處理
  • MySQL中因字段字符集不同導(dǎo)致索引不能命中的解決方法
  • MAC下修改mysql默認(rèn)字符集為utf8的方法
  • Docker下mysql設(shè)置字符集的方法
  • 詳解mysql中的字符集和校驗(yàn)規(guī)則

標(biāo)簽:蘭州 湘潭 仙桃 黃山 銅川 衡水 崇左 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于mysql查詢字符集不匹配問題的解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266