2011-09-01 63 views
2

在havind存儲特殊字符的一些麻煩後,我將數據庫從latin1_swedish_ci轉換爲utf8_unicode_ci整理。 我已經將數據庫,表和列的字符集設置爲utf8,並將排序規則設置爲utf8_unicode_ci。MyISAM utf-8編碼問題

只有InnoDB表正確存儲utf-8數據,而MyISAM表沒有。例如,ü變成ü。

這裏可能會發生什麼?我錯過了什麼嗎?

MySQL版本5.0.77

+0

「SHOW CREATE TABLE the_myisam_table」顯示什麼? – arnaud576875

+0

每個可能的列都是utf8_unicode_ci,表的默認字符集是utf8,排序規則是utf8_unicode_ci – Jesse

+0

是使用UTF8字符集的連接嗎?如果不是這個問題。如果是的話,那麼轉換變差,表中的數據已經從latin1轉換爲utf8兩次。 – arnaud576875

回答

0

在您正在使用的框架的情況下(假設Rails的),你必須確保到數據庫的連接是使用正確的編碼。在Rails中,它將被定義爲您的database.yml文件中的一個參數,其中encoding: utf8