c#程式串連mysql,報"Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='"的解決方案

來源:互聯網
上載者:User

標籤:表設計   gen   ext   center   ace   convert   htm   apple   images   

===============================================

20170607_第一次修改                       ccb_warlock

===============================================

工作關係開發一個串連mysql的c#程式,交付測試後反應在連測試環境的資料庫後出現報錯且資料無法擷取的情況。(如所示)

 

查到了http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/07/23/1783589.html後我意識到可能是表的欄位的編碼(navicat中時欄位的"定序")與關聯表欄位的編碼不一致,故導致該報錯。

 

根據這個思路,設斷點找到查詢sql,檢查測試環境中這幾張表的欄位編碼,果然發現其中一個表的欄位編碼與別的表不一致,使用的都是utf8_unicode_ci(別的表設計的編碼是utf8_general_ci)。

測試環境該表的編碼圖

 

我調試時借用的是開發環境,那麼開發與測試環境這個表的編碼有差異嗎?隨後查看了開發環境的配置,果然存在差異。

開發環境該表的編碼圖

 

猜測是開發環境改了該表的編碼規則後沒有更新到測試環境,故測試環境該表的編碼和開發環境存在差異,進而導致在開發環境調試正常,但是在測試環境調試就報錯。

 

即使那天已然升華,但願初心不泯。

                                                                                                  ----------ccb_warlock

c#程式串連mysql,報"Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='"的解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.