We've been looking into a problem with character encoding today and now came to the conclusion that it must be an internal error.
We used your RestServiceAdapter to receive a JSON object from our REST Service (GET).
Now we saw that in our UI, there are no mutated vowels shown, which are common in the German language. So instead of "Frühstück" or "Müsli" it showed "Fr%1/4hst%1/4ck".
I started looking into the code, checked out the decoder but there it showed the same problems.
So I looked at the string that is returned by the restServiceAdapter.send() method. => still the same problem
RestServiceAdapter restServiceAdapter = Model.createRestServiceAdapter(); restServiceAdapter.clearRequestProperties(); restServiceAdapter.setConnectionName("SteakMobileService"); restServiceAdapter.setRequestType(RestServiceAdapter.REQUEST_TYPE_GET); restServiceAdapter.setRetryLimit(0); restServiceAdapter.setRequestURI("Tagesgerichte/" datum + "/"); // "datum" is a string representing a date in the format yyyy-MM-dd+ restServiceAdapter.addRequestProperty("Accept", "application/json; charset=UTF-8"); restServiceAdapter.addRequestProperty("Content-Type", "application/json; charset=UTF-8");
Here, the "response" String already contains the broken letters. However, I used a couple of package analyzing tools as well as your integrated http analyzer to verify, that the service does send the correct UTF-8 encoded letters. So the only solution is the restServiceAdapter.send("") method.