使用 Fixtures 为 sqlite3 数据库播种确实适用于 config1,但使用 config2 utf-8 支持失败。
config1:Ubuntu 11.04,ruby 1.9.2p136,Rails 3.0.3,“开发”环境
config2:OS X Lion,ruby 1.9.2p290,Rails 3.0.3,“开发”环境
当有一个 yml 文件时
001:
id: 1
name: "\xC3\xBC"
我用它来填充数据库
Fixtures.create_fixtures(...)
在种子.rb
之后,数据库喊有一个 id 为 1 且名称为“ü”的条目。那是正确的。这适用于 config1。使用 config2 我总是有一个名称为“ü”的条目。utf-8 编码似乎失败了。
我已经在 rails 项目的所有地方都打开了 UTF-8:
encoding: utf-8
在数据库.yml
# encoding: utf-8
在种子.rb
Encoding.default_external = "UTF-8"
Encoding.default_internal = "UTF-8"
config.encoding = "utf-8"
在 config/environments/development.rb