JSON UTF-8 Encode Volley Android

时间:2016-12-09 10:50:08

标签: android json utf-8 android-volley

我是android和volley的新手,我在this链接中做了一个教程。但是当我解析数据库中的数据时,结果只是" ?????"替换俄罗斯人物。由于我是编程新手,我无法在下面的代码中添加UTF-8。我真的希望看到确切添加额外代码的位置,以便其他语言不仅仅是英语。提前致谢。可以从下面提供的链接中查看额外的代码。



private void callNews(int page){

        swipe.setRefreshing(true);

        // Creating volley request obj
        JsonArrayRequest arrReq = new JsonArrayRequest(url_list + page,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        Log.d(TAG, response.toString());

                        if (response.length() > 0) {
                            // Parsing json
                            for (int i = 0; i < response.length(); i++) {
                                try {

                                    JSONObject obj = response.getJSONObject(i);
                                    NewsData news = new NewsData();

                                    no = obj.getInt(TAG_NO);

                                    news.setId(obj.getString(TAG_ID));
                                    news.setJudul(obj.getString(TAG_JUDUL));

                                    if (obj.getString(TAG_GAMBAR) != "") {
                                        news.setGambar(obj.getString(TAG_GAMBAR));
                                    }

                                    news.setDatetime(obj.getString(TAG_TGL));
                                    news.setIsi(obj.getString(TAG_ISI));

                                    // adding news to news array
                                    newsList.add(news);

                                    if (no > offSet)
                                        offSet = no;

                                    Log.d(TAG, "offSet " + offSet);

                                } catch (JSONException e) {
                                    Log.e(TAG, "JSON Parsing error: " + e.getMessage());
                                }

                                // notifying list adapter about data changes
                                // so that it renders the list view with updated data
                                adapter.notifyDataSetChanged();
                            }
                        }
                        swipe.setRefreshing(false);
                    }

                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                swipe.setRefreshing(false);
            }
        });

        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(arrReq);
    }
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

对于那些可能寻求相同解决方案的人。我通过改变&#34; obj.getString&#34;得到了解决方案。进入这个&#34; news.setJudul(new String(obj.getString(TAG_JUDUL).getBytes(&#34; UTF-8&#34;)));&#34;。