我正在为我的 Grails-Application 编写测试,我在我的应用程序中发现了一个“错误”——至少我认为它是我的应用程序。
我的请求如下所示:
http://maps.googleapis.com/maps/api/geocode/json?address=Karlsruhe+76131+Tullastraße+17&sensor=false
并且响应包含我的州/省(我不知道确切的翻译 - 我来自德国,它分为 16 个较小的“州” - 称为“Bundesland”)
我的州被称为“巴登-符腾堡州”,这就是浏览器的响应。
在我的应用程序中,我使用 URL 和 BufferedReader(带有 InputStreamReader)来获取响应。
我试图断言,来自浏览器的响应等于我从代码中的 URL-Connection 获得的响应。
但是 - 问题/问题来了 - 它们不同。我发现的唯一区别是我所在州的名称。
如前所述,我从浏览器获得的响应包含“Baden-Württemberg”,但我通过代码获得的响应仅包含“Baden-Wurttemberg” - ü用常规u切换
这是我的代码:
URLConnection connection = new URL(url).openConnection()
BufferedReader br = new BufferedReader(new InputStreamReader(connection.content, "UTF-8" ))
StringBuffer connectionResponse = new StringBuffer()
while (br.ready()) {
connectionResponse.append(br.readLine())
}
br.close()
return connectionResponse.toString()
我的搜索使我选择了将字符集传递给 InputStreamReader - 因为我期望它是 UTF-8 我使用这个字符集,但它并没有解决这个错误。
我只是困惑为什么这是可能的。
我应该去哪里看?我没有那么有经验,所以我很无知
编辑:我进行了更多测试,如果我搜索包含变音符号的街道(“Bärenweg”或“Baerenweg”就是一个例子),两个响应(代码和浏览器)都包含正确的值:Bärenweg。似乎只有国家受此影响。
我应该立即联系谷歌吗?有了这个新测试,我不确定我是否能做点什么