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

캐릭터셋과 URLEncoding은 다른건가요 ?

0 추천
http 통신할때

 

httpPost.setEntity(new StringEntity(URLEncoder.encode(data, "UTF-8")));

이것과

httpPost.setEntity(new StringEntity(data, "UTF-8"));

이게 다른결과를 갖나요 ?

StringEntity 속성을 보면 2번째 인자는 캐릭터셋이라고 돼있는데

인코딩이랑 다른건지 궁금합니다.
음무 (17,820 포인트) 님이 2015년 4월 23일 질문

2개의 답변

+1 추천
 
채택된 답변

URLEncoder.encode는 url주소 표시할 때 공백을 %20 같은걸로 바꿔주는 그거입니다. 

중간에 한글같은거 깨지지 않게 미리 인코딩해서 보내는거고, 두번째는 그냥 보내는거고요. 

두번째도 그냥 알파벳만 있는거면 이상없지 않나요?

쎄미 (162,410 포인트) 님이 2015년 4월 23일 답변
음무님이 2015년 4월 24일 채택됨
네 그냥 알파벳은 이상없더라구요. 그런데 두번째가 인코딩이 안되는거라면
httpPost.setEntity(new StringEntity(data, "UTF-8")); 여기서 UTF-8 캐릭터셋 지정해주는건 아무 의미없는건가요 ? 실제로 빼고하나 넣고하나 차이가없더라구요
영어 아닌 문자가 들어가있을 때만 영향이 있을 것 같아요
+1 추천
제가 알기론 보내주는곳에서 UTF8 로 보내줫을때 첫번째로해야 글씨가안깨지는걸로 알고있습니당

두번째걸로 하면 UTF-8로 보내줘도 깨지는걸로 알고있어요
콜벳 (7,150 포인트) 님이 2015년 4월 23일 답변
저도 그 현상때문에 의문이 생겨서 문의드렸습니다 ㅎㅎ 깨지는 원인이 뭔지 알 수 있을까요 ? 어떤 차이가 있는지 궁금합니다.
...