0

当我对带有瑞典字母的单个地址发出 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ö",
  ]
}

我可以得到批处理响应并且一切正常,除了 unicode 搞乱了搜索。如何使用特殊字符发出批处理请求?

有谁知道?

4

2 回答 2

0

您必须对查询进行编码以确保特殊字符没有任何问题。以下是用于不同语言的不同方法:

  • JavaScript:encodeURIComponent(查询)
  • C#/VB: Uri.EscapeDataString(查询)
  • Java:URLEncoder.encode(查询,“UTF-8”)
  • Python:

    导入 urllib.parse

    urllib.parse.quote(查询)

然后将编码的查询值添加到您的 URL 中。

于 2019-03-04T21:04:17.523 回答
0

这是一种解决方法。

尝试:

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

我刚刚尝试过,它返回了正确的结果。因此,只需使用“a”代替“å”等等。

这可能会让你畅通无阻,直到它被固定在他们身边。

于 2018-09-11T19:15:45.677 回答