2011-10-05 62 views
1

我使用to_json導出的UTF8字符串出現問題。toJSON和UTF8在Ruby on Rails 3.1中的字符串編碼錯誤

的問題是,當我這樣做:

ruby-1.9.2-p290 :005 > "anche il più remoto".encoding 
=> #<Encoding:UTF-8> 
ruby-1.9.2-p290 :006 > {:text => "anche il più remoto"}.to_json 
=> "{\"text\":\"anche il pi\\u00f9 remoto\"}" 
{:text => "anche il più remoto"}.to_json.encoding 
=> #<Encoding:US-ASCII> 
ruby-1.9.2-p290 :009 > 

我怎麼能跳過更改編碼?我想將UTF8字符串返回給客戶端,以便它們不會解碼它。

+2

可能重複的[JSON編碼錯誤轉義(導軌3,紅寶石1.9.2)](http://stackoverflow.com/questions/5123993/json-encoding-wrongly-escaped-導軌-3-紅寶石1-9-2) – molf

回答

1

您使用json或ruby-json gem嗎?從here,它看起來像ruby-json有問題。

嘗試的

s.add_dependency('json', '>= 1.5.3') # this 
s.add_dependency('ruby-json', '>= 1.1.2') # not this 

# and 

require 'json' #this 
require 'json/objects' # not this