mapbox / mapbox/mapbox-java

Special character `á` incorrectly encoded in raw Geocoding API request URL

Open
#979 6 comments 0 reactions 1 assignee View on GitHub

@osana is already working on this.

Since Apr 18, 2019.

Dominant language
Java
Stars
438
Forks
117
PR merge metrics
No merged PRs in 30d

Description

What kind of issue is this?

  • Questions are better to ask on Stack Overflow. We are actively monitoring the questions there and oftentimes, others have already asked a similar question.
  • Feature request should start off by describing the problem the feature will resolve. Please open a GitHub ticket beforehand with information about the feature to spark some discussion about the topic and once you have our support.
  • Bug Report can be reported using the provided template below:
Expected Behavior

Using a geocoder with the Mapbox Maps SDK for Android should support special characters. So the search Santa Catarina Mártir,Puebla should yield results whether the Geocoding API call is initiated in a browser or via the Mapbox Maps SDK for Android.

Current Behavior

Expected results return when geocoding api request is initiated in a browser (i.e. in the Search Playground), but when using the SDK the raw geocoding API request URL includes the incorrect encoding for special character á so no results are returned.

Possible Solution
Steps to Reproduce
  1. Run your app (including a geocoder) in Android Studio and use this code to log out the raw geocoding API request URL:
Log.d("GeocodingActivity", "onResponse: call.request() = " + call.request());
  1. Enter the search "Santa Catarina Mártir,Puebla" and grab the geocoding API request URL.
  2. See that it doesn't return any results and the query contains incorrect encoding: https://api.mapbox.com/geocoding/v5/mapbox.places/Santa+Catarina+M%25C3%25A1rtir%252CPuebla.json?access_token={{access-token}}&country=mx%2Cmx&types=poi%2Caddress&language=en
  3. Compare to the same search with the same parameters in the Search Playground and the raw request: https://api.mapbox.com/geocoding/v5/mapbox.places/Santa%20Catarina%20M%C3%A1rtir%2C%20puebla.json?access_token={{access_token}}&cachebuster=1551922406234&autocomplete=false&country=mx&limit=1&language=en
Context (Environment)

using gradle, compiling the following versions:

    compile "com.mapbox.mapboxsdk:mapbox-sdk-services:4.5.0"
  compile "com.mapbox.mapboxsdk:mapbox-sdk-geojson:4.5.0"
Detailed Description
Possible Implementation

cc @langsmith

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.