Grails-Applicationのテストを書いていますが、アプリケーションに「バグ」が見つかりました。少なくとも、それは私のアプリケーションだと思います。
私のリクエストは次のようになります:
http://maps.googleapis.com/maps/api/geocode/json?address=Karlsruhe+76131+Tullastraße+17&sensor=false
そして、応答には私の州/州が含まれています(正確な翻訳はわかりません-私はドイツ出身で、「Bundesland」と呼ばれる16の小さな「州」に分割されています)
私の州は「バーデン・ヴュルテンベルク」と呼ばれ、ブラウザからの応答にあります。
私のアプリケーションでは、URLとBufferedReader(InputStreamReaderを使用)を使用して応答を取得しています。
ブラウザからの応答は、コードのURL-Connectionから取得した応答と等しいと断言しようとしています。
しかし-ここに質問/問題があります-それらは異なります。そして、私が見つけた唯一の違いは、私の州の名前にありました。
前に述べたように、ブラウザーから取得した応答には「バーデンヴュルテンベルク」が含まれていますが、コードから取得した応答には「バーデンヴュルテンベルク」のみが含まれています。つまり、üは通常の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であると予想されるため、この文字セットを使用していますが、このバグは解決されていません。
なぜこれが可能なのか混乱しています。
どこを見ればいいですか?私はそれほど経験がないので、かなり無知です
編集:もう少しテストしました。umlautを含む通りで検索した場合(「Bärenweg」または「Baerenweg」が例です)、両方の応答(コードとブラウザー)に正しい値Bärenwegが含まれています。これは状態だけが影響を受けているようです。
すぐにグーグルに連絡する必要がありますか?この新しいテストでは、それについて何かできるかどうかはよくわかりません。