【发布时间】:2016-07-29 06:36:24
【问题描述】:
我是 Rails 新手。
我正在研究一个依赖 Fixtures 将非 UTF8 字符从 yml 文件加载到数据库的遗留代码。
rails最新版本,yml必须是utf-8编码,也就是说Fixtures读入的都是utf-8编码。
如何将下面的代码转换成utf-8到non-utf8并加载到数据库(当然是non-utf8编码)。
class LoadUsersData < ActiveRecord::Migration
def self.up
down
directory = File.join(File.dirname(__FILE__))
Fixtures.create_fixtures(directory, "users")
end
def self.down
User.delete_all
end
end
其中 users.yml 包含 utf-8 格式的数据(必须)。
或者是否可以使用 .txt(可以是非 utf8 格式)并使用 Fixtures 加载?
我正在使用 oracle_enhanced,我尝试在 database.yml 中将“编码”更改为我的数据库编码,但似乎没有自动完成从 utf-8 到我的编码的转换(因为字符串长度不同utf-8这两种编码字节多,数据库返回user_name is too long错误)。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 encoding utf-8