Я использую API Twitter с официальной оболочкой ruby gem.
Когда я делаю Twitter :: Search.new («ключевые слова»).Он возвращает хеш с текстовым полем, которое выглядит следующим образом:
text: "Merci @Isabouriaud @ nicod92160 @NicolasAtger Watson" une des r \ u00E9alisations "
Я знаю, что это Unicode, но не можетне могу найти способ конвертировать эту строку в обычный текст в ruby. Это не имеет ничего общего с моей базой данных, так как я показываю твиты сразу ...
Мне просто нужна функция для конвертации "r\ u00E9alisations "в" réalisations "
Я пытался: ActiveSupport :: JSON.decode (" \ "\ u00E9 \" ") => é, но ActiveSupport :: JSON.decode (" \ "\ invit \ u00E9\ "")! = invité (как я хочу)
Есть идеи?
Большое спасибо.
Решение
Мне пришлось использовать последнюю версию json gem и проанализировать ее. Текущая версия twitter twitter для rails 2.3, вероятно, больше не актуальна.
Я думаю, что другим решением было бы обновитьв Rails 3 и используйте метод force_encoding.
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