我正在使用 HTTParty 从一些 REST url 获取 json 数据
require 'httparty'
@search_term = "movies"
@data = HTTParty.get("http://api.douban.com/events?q=#{@search_term}")
问题是如果我传递一个包含多字节字符的 get 参数,例如如果我想使用中文 UTF-8 搜索词“电影”:
@search_term = "电影"
@data = HTTParty.get("http://api.douban.com/events?q={@search_term")
我收到一个错误
URI::InvalidURIError at / bad URI(is not URI?): link here
在 Stackoverflow 上搜索,我发现以下答案建议将我的 @search_term 格式化为百分比转义的八位字节,但我无法弄清楚如何做到这一点。
我正在寻找一个看起来像这样的解决方案:
@search_term = params[:search_term]
@search_term = solution_with_some_escaping_or_something(@search_term)
@data = HTTParty.get("http://api.douban.com/events?q={@search_term")
#profit