BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); is the encoding incorrect?