總網頁瀏覽量

2013年5月15日 星期三

MySQL::illegal mix of collations (latin1_bin implicit) and (utf8_general_ci coercible)

將舊版的MySQL(被Oracle併購之前的)資料移植到新版的MySQL發生問題

在下達指令
select * from table where code='哈';

發生
illegal mix of collations (latin1_bin implicit) and (utf8_general_ci coercible)
錯誤訊息


案發現場狀況:

資料庫建立時候我原本採用latin1編碼
因此只有character_set_database 為 latin1

其餘都是utf8或binary

show variables like'%charact%';
顯示環境變數如下:
character_set_client     | utf8
character_set_connection | utf8
character_set_database   | latin1  //資料庫原本以latin1建立的
character_set_filesystem | binary
character_set_results    | utf8
character_set_server     | utf8
character_set_system     | utf8





解決方式:
目前先將client ,connection,results,server通通設定為latin1
就OK了。
有空再一個一個測試到底是哪個變數出問題...........


設定如下:
character_set_client     | latin1
character_set_connection | latin1
character_set_database   | latin1  //資料庫原本以latin1建立的
character_set_filesystem | binary
character_set_results    | latin1
character_set_server     | latin1
character_set_system     | utf8

沒有留言:

張貼留言