將舊版的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
沒有留言:
張貼留言