Я написал бота для Telegram, где пользователи могут получать изображения по своим запросам. Но была одна проблема, которую я не мог решить.
Некоторый пример с разбором на 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=вава&per_page =10&client_id=42324d2lkedi234fs342dfse2c038fdfsdfs" (URI::InvalidURIError)
Я использовал Encoding с utf-8 и win-1252, но ничего не помогло. Как это исправить?