在Ruby中的Google API搜索字符串中编码日语字符

时间:2012-04-14 09:51:33

标签: ruby api unicode

我正在尝试使用自定义Google搜索API执行日语搜索,如下所示:

require 'httparty'
require 'json'

class Search
  include HTTParty
  format :json
end

@response = Search.get('https://www.googleapis.com/customsearch/v1?key=etcetc&q=JAPANESE SEARCH TERM')

当使用日文文本时,它无法抱怨“无效的多字节字符(US-ASCII)”

如何以Ruby允许的格式输入日文文本,google custom api也接受?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

添加

# encoding: utf-8

到文件顶部

答案 1 :(得分:0)

作为后续跟进,google api可能仍然不接受这些日语搜索字词 - 通过使用URI.escape来逃避它们并在搜索中使用它们非常简单

require 'uri' 
retVal = URI.escape("Japanese term", Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))