Ruby on rails 使用Rails 2.3.9解决Unicode?转换简单字符串
我将Twitter API与官方的ruby gem包装一起使用 当我使用Twitter::Search.new(“关键字”)时。它返回一个带有如下文本字段的哈希: 文字:“Merci@Isabouriaud@nicod92160@NicolasAtger-Watson”这是一个很好的例子 我知道这是unicode,但找不到在ruby中将此字符串转换为纯文本的方法。这与我的数据库无关,因为我正在立即显示tweets 我只需要在“réalisations”中转换“r\u00E9alisations”的函数 我试过: ActiveSupport::JSON.decode(“\”\u00E9\”)=> 但是 ActiveSupport::JSON.decode(“\”\invit\u00E9\”)!=invité(我想要它的样子) 有什么想法吗 非常感谢。 解决方案 我不得不使用最新的json gem并用它来解析它。目前用于rails 2.3的twitter gem可能不再是最新的了 我认为另一个解决方案是升级到Rails 3并使用force_编码方法Ruby on rails 使用Rails 2.3.9解决Unicode?转换简单字符串,ruby-on-rails,ruby,unicode,encoding,ruby-on-rails-2,Ruby On Rails,Ruby,Unicode,Encoding,Ruby On Rails 2,我将Twitter API与官方的ruby gem包装一起使用 当我使用Twitter::Search.new(“关键字”)时。它返回一个带有如下文本字段的哈希: 文字:“Merci@Isabouriaud@nicod92160@NicolasAtger-Watson”这是一个很好的例子 我知道这是unicode,但找不到在ruby中将此字符串转换为纯文本的方法。这与我的数据库无关,因为我正在立即显示tweets 我只需要在“réalisations”中转换“r\u00E9alisations”
class TwitterWrapper
def self.base
"http://search.twitter.com"
end
#json_string.gsub!(/\\u([0-9a-z]{4})/) {|s| [$1.to_i(16)].pack("U")}
def self.search(keyword)
keyword = keyword.gsub(" ","%20")
read("#{base}/search.json?q=#{keyword}")["results"]
end
private
def self.read(url)
JSON.parse(Net::HTTP.get(URI.parse(url)))
end
end
您看到的是unicode字符串在ruby终端中的预表示。如果您将其写入一个文件,并使用支持unicode的编辑器打开它,重音看起来应该很好
您可以设置$KCODE='UTF-8'来解决终端的问题。大多数字符都转义了,但有些字符转义了,这很奇怪(あ, す, で) 不是…:-/是的,这是直接输出的-我花了2个小时试图找出解决方案..感谢Mosch的回答。但它也在我的web浏览器中显示出来,即使我的所有内容都用UTF-8编码。我找到了一个解决方案,将编辑我的帖子。