我发现utf-8是标准的,但是Mysql并不完全支持utf-8(4字节)。
现在是我的处境。mysql的排序变量显示latin1,但是"database.yml"(rails)中的编码机制是utf8。
我有一个数据库,大约有20个表,每个表中有大约1k行。我正在使用MySQL5.0、ruby1.8.7和rails 3。
我想至少支持一些不可打印的章程。最好的选择是什么?
谢谢。
发布于 2011-06-14 04:43:50
我认为database.yml中的:编码字段正是创建新数据库时所使用的。
如果您更改此字段,应用程序不会中断。
(事实上,我认为它什么也做不了,除非你使用rake db:create)
我建议,如果你的应用是针对美国或西欧以外的任何人,你应该使用utf8。我感到惊讶的是,Ubuntu仍然提供默认的latin1。
这可能是“优化”的空间,但给几乎任何一个客户面对网站的人带来麻烦。
关于如何将数据库转换为UTF8 http://www.devcha.com/2008/03/convert-existing-mysql-database-from.html,google上有各种链接。
就像这样
/* convert the default character set (used for new tables) */
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
/* convert a specific table */
ALTER TABLE db_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;当然..。
总是备份您的数据,并首先在暂存计算机()上试用。
https://stackoverflow.com/questions/6338980
复制相似问题