我有一个使用utf-8运行的rails应用程序。它使用mysql数据库,所有的表都使用mysql的默认字符集和排序规则(即latin1)。因此,latin1表包含utf-8数据。当然,这并不好,但我对此并不真正感兴趣。一切正常,因为连接编码也是latin1,因此mysql不会在字符集之间进行转换。
只有一个问题:我需要一个表的utf-8全文索引:
mysql> show create table autocompletephrases;
... AUTO_INCREMENT=310095 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci但是:我不想在我的rails应用程序中转换字符集。因此,我想知道是否可以只设置config/database.yml
production:
adapter: mysql
>>>> encoding: binary
...当连接到mySQL时,它只是调用集合名称'binary‘。看起来它适用于我的情况,因为我猜它会强制mysql在字符集(mySQL docs)之间不进行转换。有没有人知道这样做的问题?有什么副作用吗?
或者你还有其他的建议吗?但我希望避免将我的整个数据库转换为utf-8。
非常感谢!本杰明
发布于 2010-05-22 00:36:39
我觉得有令人信服的理由只是转换,而不是引入一些暂时解决你的问题的东西,直到你将来需要转换。
我会通过现在就转换来省去你未来的痛苦。
https://stackoverflow.com/questions/2882392
复制相似问题