【发布时间】:2017-09-17 18:07:18
【问题描述】:
我为 Telegram 编写了一个 Bot,用户可以在其中接收请求的图像。但是有一个问题我无法解决。
在 Ruby 上进行解析的一些示例:
json_object = JSON.parse(open("https://api.site.com/search/photos?query=" + message.text + "&per_page=10&client_id=42324d2lkedi234fs342dfse2c038fdfsdfs").read)
message.text - 这是一个用户请求的字段。
拉丁文字一切正常,但是当我发送西里尔文(API 也支持西里尔字母)符号时,我收到以下错误:
/Users/me/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/uri/rfc3986_parser.rb:21:in `split': URI 只能是 ascii “https://api.site.com/search/photos?query=\u0432\u0430\u0432\u0430&per_page=10&client_id=42324d2lkedi234fs342dfse2c038fdfsdfs” (URI::InvalidURIError)
我使用 utf-8 和 win-1252 编码,但没有任何帮助。应该如何解决?
【问题讨论】:
标签: ruby-on-rails json ruby parsing cyrillic