解決Volley請求框架中文亂碼問題

問題產生原因

1.服務端沒有設置編碼格式

2.Volley對於沒有指定編碼格式的請求默認將其轉化爲”ISO-8859-1”

解決辦法

將返回的格式轉化爲UTF-8即可

String newResponse =new String(response.getBytes("ISO-8859-1"),"UTF-8"); `

示例代碼如下

RequestQueue queue = Volley.newRequestQueue(this);
        StringRequest string = new StringRequest(Request.Method.GET, "http://www.baidu.com", new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    //將數據轉碼爲UTF-8//解決中文亂碼問題
                    String newResponse = new String(response.getBytes("ISO-8859-1"),"UTF-8");
                    Log.e("response", newResponse);
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("error",error.toString());
            }
        });
   queue.add(string);
發佈了37 篇原創文章 · 獲贊 16 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章