Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未处理Ruby 1.9.2、mysql、json、rails和非ascii字符_Mysql_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

未处理Ruby 1.9.2、mysql、json、rails和非ascii字符

未处理Ruby 1.9.2、mysql、json、rails和非ascii字符,mysql,ruby-on-rails,ruby,ruby-on-rails-3,Mysql,Ruby On Rails,Ruby,Ruby On Rails 3,例如,我有以下json: {"header":"Châteauneuf du Pape, Féraud Brunel, 2007", "detail":null} 我通过my seeds.rb中的以下代码实现了这一点: u=IO.read(file) m=JSON.parse(u) 我创建Rails模型对象。问题是a扬抑和e重音没有正确插入,我得到了一个问号。当我放置对象时,重音就在那里。如果我从这个输出中复制并保存并查看十六进制 如果启动rails控制台并创建新对象: i=Item.new

例如,我有以下json:

{"header":"Châteauneuf du Pape, Féraud Brunel, 2007", "detail":null}
我通过my seeds.rb中的以下代码实现了这一点:

u=IO.read(file)
m=JSON.parse(u)
我创建Rails模型对象。问题是a扬抑和e重音没有正确插入,我得到了一个问号。当我放置对象时,重音就在那里。如果我从这个输出中复制并保存并查看十六进制

如果启动rails控制台并创建新对象:

i=Item.new :header_id => 365
i.header='here are ü and ê and à'
i.save
核实

select * from items where id=1299;
id: 1299
header: here are ü and ê and à
下一步该去哪里看?我需要强迫Rails认为它得到的JSON是UTF-8吗?难道它不应该知道它已经是了吗


thx

对于.rb文件,您通常会在文件顶部添加神奇的注释
#encoding:utf-8
,告诉Ruby该文件是utf-8。我不确定这是否适用于您的文件类型。否则,应确保文件为UTF-8。