Языковая поддержка карт 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.