2011-03-04 42 views
1

我構建了一個跨數據庫視圖,該視圖合併來自兩個不同子系統的數據以進行報告。包含具有不同(?)字符編碼的表的MySQL視圖

這兩個表都使用utf8_general_cl歸類的UTF8編碼。

問題是一個數據庫是utf8,而另一個數據庫是latin1和latin1_swedish_cl set。

其結果是重音字符和類似數據來自latin1數據庫中的表損壞,儘管兩個表都是utf8。

我不認爲改變整個數據庫的字符集是一個選項。

我可以隨時轉換字符串嗎?我試過convert(),但它似乎沒有任何效果。

回答

1

試試這個

convert(convert(convert(COL using latin1) using binary) using utf8) 
+0

感謝您的答覆,但沒有喜悅。它會導致字符串在第一個非ASCII字符處被截斷。 – GordonM 2011-03-04 16:47:30

+0

事實上,進一步的這種方法的實驗最終會產生令人滿意的結果,所以感謝您的幫助。 – GordonM 2011-03-07 09:32:54