2011-09-01 58 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