마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

volley 서버와 전송시 한글깨짐 문제 하루종일 삽질 ;;

0 추천

안녕하세요 안드로이드 공부중에 있습니다.

 php + msyql 과 앱과 데이터 전송중 한글이 깨짐현상입니다. 영문은 잘 전송이 되는데

 이름의 한글이 깨집니다. 하루종일 삽질중에 있습니다 .ㅠㅠ

 

buil.gradle 

implementation 'com.android.volley:volley:1.1.0'

사용중에 있구요 

php 결과치는 

{"login":[{"name":"김길동","email":"kim@naver.com","id":"eee"}],"success":"1","message":"success"}

안드로이드 소스는 

public void onResponse(String response) {
   loading.setVisibility(View.GONE);

    try {
        JSONObject jsonObject = new JSONObject(response);
        String success = jsonObject.getString("success");
        JSONArray jsonArray = jsonObject.getJSONArray("read");

       if(success.equals("1")){
            for (int i = 0; i < jsonArray.length(); i++){
                JSONObject object = jsonArray.getJSONObject(i);

                //한글안됨
                //String strName = object.getString("name").trim();
                //String strName2 = object.getString("name").trim();
                //String strName=URLEncoder.encode(strName2, "euc-kr");
                //String strName=URLEncoder.encode(strName2, "UTF-8");


                String strName = object.getString("name").trim();
                String strEmail = object.getString("email").trim();

                name.setText(strName);
                email.setText(strEmail);
            }
        }

    }catch (JSONException | UnsupportedEncodingException e){
        e.printStackTrace();
        //progressDialog.dismiss();
        loading.setVisibility(View.GONE);
        Toast.makeText(HomeActivity.this, "Error Reading Detail" + e.toString(),Toast.LENGTH_LONG);
    }

}

 

 입니다.

 //String strName=URLEncoder.encode(strName2, "euc-kr");
 //String strName=URLEncoder.encode(strName2, "UTF-8");

이렇게 다해봤으나. 역시 잘 안됩니다..

UTF-8 로인코딩 했을때 한글 깨짐입니다. ㅠ

 

rndls (180 포인트) 님이 2019년 9월 11일 질문

2개의 답변

0 추천
요즘엔 대부분 retrofit을 씁니다. 왜 volley를 사용하시는지는 모르겠지만, retrofit으로 바꿔보세요.
쎄미 (162,410 포인트) 님이 2019년 9월 17일 답변
...