Языковая поддержка карт Azure

Когда я делаю запрос API для одного адреса со шведскими буквами, я получаю правильный ответ, но если тот же адрес является частью пакетного запроса, все специальные символы заменяются на Unicode, и я не получаю никакого удара. Я пробовал URL Кодировать запросы в пакете, но это не имеет значения. Это работает:

/search/address/json?query=Långsjövägen, 13554 Tyresö&api-version=1.0&subscription-key=123

Но пост, как это не так:

{ "queries":
  [
    "?query=Långsjövägen, 13554 Tyresö",
  ]
}

Я могу получить пакетный ответ, и все работает отлично, за исключением того, что Юникод портит поиск. Как я могу сделать пакетный запрос со специальными символами?

Кто-нибудь знает?

1 ответ

Вот обходной путь.

Пытаться:

{ "queries":
  [
    "?query=Langsjovagen, 13554 Tyreso",
  ]
}

Я только попробовал это, и это вернуло правильные результаты. Итак, просто используйте "а" вместо "å" и так далее.

Это, вероятно, разблокирует вас до тех пор, пока он не будет зафиксирован на их стороне.

Вы должны закодировать свои запросы, чтобы у специальных символов не было проблем. Вот различные методы для разных языков:

  • JavaScript: encodeURIComponent (запрос)
  • C# / VB: Uri.EscapeDataString (запрос)
  • Java: URLEncoder.encode (запрос, "UTF-8")
  • Python:

    импорт urllib.parse

    urllib.parse.quote (запрос)

Затем добавьте значение закодированного запроса в свой URL.

Другие вопросы по тегам