Ruby on Rails 中文 Wiki
为什么我用migrate脚本创建的数据库不支持中文 (changes)

显示修订历史自 #0 至 #1: 添加 | 移除

可能是因为你的数据库默认字符集为非 utf,所以才无法接受中文输入。

解决的方法是确定你的数据库表的字符集设定为 utf-8。

你将 create_table 的 :options 参数设定为 ‘CHARSET=utf8’ 来解决这个问题。

例如:

  def self.up
    create_table :users, :force => true, :options => 'CHARSET=utf8' do |t|
      t.column :username, :string, :limit => 80, :null => false
      t.column :email, :string, :limit => 200, :null => false
      t.column :first_name, :string, :limit => 40
      t.column :last_name, :string, :limit => 40
    end