将sqlite3数据库与config1结合使用,但使用config2 utf-8支持失败。
config1: Ubuntu11.04,ruby1.9.2p136,Rails 3.0.3,“开发”环境
config2: OS,ruby1.9.2p290,Rails 3.0.3,“开发”环境
当有一个yml文件时,如
001:
id: 1
name: "\xC3\xBC"我用它来填充数据库
Fixtures.create_fixtures(...)在seed.rb中
之后,数据库喊有一个id 1的条目,名为"ü“。那就对了。这对config1起了作用。使用config2,我总是有一个名字为“圣保罗”的条目。utf-8编码似乎失败了。
我已经在rails项目中打开了UTF-8:
encoding: utf-8在database.yml中
# encoding: utf-8在seeds.rb中
Encoding.default_external = "UTF-8"
Encoding.default_internal = "UTF-8"
config.encoding = "utf-8"在配置/环境/开发中。
发布于 2012-05-17 21:15:04
这两种系统是否可能有不同的特性?
来自SQLite3发行说明:
对UTF-8和UTF-16的支持
新的APIforUTF-3.0包含以主机的本机字节顺序接受文本作为SQLite -8和UTF-16的例程。每个数据库文件以UTF-8、UTF-16BE (大端)或UTF-16 or (小终端)的形式管理文本。
您可以在这里查看:http://en.wikipedia.org/wiki/Endianness#Endianness_and_operating_systems_on_architectures
https://stackoverflow.com/questions/6843833
复制相似问题