I’m writing an Android app in which I request and receive a JSON object with keys for values in Japanese. I’m converting the values I want to a string as follows:
String myString = new String(myJSONObject.getString("key").getBytes("UTF8"), "UTF8");
However when I display this it appears as nonsense like:

The keys and values are present and correct.
Why is this?
Do you get the correct characters when you get the same JSON string with your browser? What is the content encoding of the HTTP request? Are they correct when you output them to the log? You have to figure out if it is a transfer problem, encoding mismatch problem, or just a display problem first. Try answering the questions above to narrow it down.