보물창고/Programming2011.08.24 23:01








안드로이드 get방식 데이터 u
rl 전달 한글 깨짐 인코딩 설정 방법 (안드로이드 URL 호출, 쓰기, jsp, android, euc-kr, utf-8, 디코딩, encode, decode, servlet, 서블릿)

안드로이드에서 GET방식 URL에 데이터를 쓸때
데이터를 전달받은 jsp 서블릿에서 받은 데이터중 한글이 깨지는 형상 해결 방법 입니다
ex) �������� ,  ???? ,  ã�±ã�·ã�´ã��ã�¹ 등등..








 

String contentText"일상";

String contentText2 = java.net.URLEncoder.encode(new String(contentText.getBytes("UTF-8")));

String getSql = "http://서블릿 주소?tn=neck_cold&con="+contentText2; 
                        

URL connect = new URL(getSql);

URLConnection urlConn = connect.openConnection();

HttpURLConnection httpCon = (HttpURLConnection)urlConn;

BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));

in.close();

 
전달 하는쪽 소스 입니다

밑줄 그은 부분이 해결 방법 입니다
contentText문자열에 인코딩을 해서 다시 스트링을 담게 됩니다 







 

response.setCharacterEncoding("EUC-kr");

String tableName = new String(request.getParameter("tn").getBytes("8859_1"),"UTF-8");

 
받는쪽 소스 코드 입니다 (서블릿)

첫번재줄 euc-kr은 웹브라우져에 출력할때 영향을 미칩니다
두번째줄 getByte이후는 db에 쓸때 영향을 미칩니다







이클립스 window -> Preferences => Workspace -> Text File encoding 을 손을 많이 댓었는데
default값 MS949로 해도 문제 없이 돌아갑니다 
 

 




참고한 블로그
http://ksprg.cafe24.com/?p=904
http://www.javadocexamples.com/java/net/URLEncoder/encode(String%20s,String%20enc).html




신고





Posted by 파란물