http://www.androidpub.com/index.php?mid=android_dev_qna&document_srl=2173522

원문 질문 글입니다.. 리플로 달려니 이상하게 안달아져서 새로 게시물 올립니다..

---------------------------------------------------------------------------------------------------------------

 

답변주신 두분 감사합니다~

먼저.. 저도 단말에서 인코딩 후 웹에서 디코딩해서 하는 방식을 사용해봤는데요.. 저는 잘 안되더군요 ;;

이라슈님께서 링크 걸어주신 페이지도 단말에서 인코딩후 웹에서 디코딩 하는 방식이네요..

 

제 생각에 해당 방법은..

어플에서 한글 문자열을 UTF-8로 인코딩 변경해서 웹으로 보내고.. 웹에서 GET으로 받아들일떄 URL 주소의 경우 한글이

ISO-8859-1 인코딩 방식이므로 이 인코딩 방식을 UTF-8로 다시 변경해서 사용하는 방법인거 같은데.. (맞나요?)

 

일단.. 링크 걸어주신 페이지로 DB접근은 잘 됩니다..~

그런데.. 응답받은 페이지에 요청보낸 한글을 어플의 텍스트뷰로 한번 출력해보니.. 출력은 안되네요 ;; 이건 또 왜이런건지 ;; 아우 ㅠㅠ

(그냥 아무런 글자도 안떠요 ;)

 

PC의 웹브라우저에서 해당 주소로 들어가면.. 역시나 글자가 깨지는군요..

(아마도 앱에서 처럼 한글을 UTF-8 인코딩으로 변경하지 않았는데 웹에서는 이를 다시 UTF-8로 변경하려해서 그런가봐요..)

 

물론 지금 DB 검색만 되면 되기때문에 상관은 없습니다만.. 왜 화면에 출력이 안되는지 궁금하네요 ;;;;

 

-----------------

또 하나... 앱에서 인코딩하고 웹에서 디코딩할때.. 인코딩 방식을 utf-8이 아닌 euc-kr로 해봤는데.. 이건또 안되네요 ㅡㅡ;;

왜 안되는거죠 ㅠㅠ ;;;;;;;;;;;;;

혹시 문자열 인코딩 변경간에 서로 데이터를 잃어버리는 조합이 있나요??

---------------------

 

지금까지의 내용을 종합하면 이렇습니다.

 

1. 안드로이드 자체는 유니코드

2. JSP페이지에 한글을 GET방식으로  요청( UTF-8로 인코딩)

3. JSP페이지에서 이를 ISO-8859-1 인코딩 방식으로 읽고 UTF-8 인코딩으로 변경

4. 이 한글을 이용해 DB접근하니 접근 잘됨. (참고로 DB는 UTF-8 인코딩 방식)

5. 앱에서 응답 결과 페이지를 한줄씩 읽어 TextView에 한번 출력해보았음.. (한글 부분만 출력 안됨.. DB 검색 결과는 출력됨)

 

다른 시도.....

1. 위의 2번과 3번 진행시 UTF-8이 아닌 EUC-KR로 인코딩 변경해보았음..

2. 결과... 앱애서의 출력도 이상하고 DB검색도 안됨..

3. DB검색의 경우 DB가 UTF-8 인코딩 방식이라서 그런가 싶기도 하지만.. (맞나요?)

4. 앱에서 출력해볼때 역시나 한글만 안나옴 ㅠ

 

______________

도대체.. 뭐때문에 이런걸까요 ㅠㅠ 왜 앱에서 JSP 응답 페이지를 출력하면 한글만 안나올까요 ㅜㅜ?

 

갑자기 드는 생각인데.. 혹시 이것도 상관이 있는지요..

JSP에서 응답해주는 페이지의 인코딩 방식과 안드로이드 자체 인코딩 방식이 다르기 때문에...

참고로 JSP 페이지 자체의 인코딩 방식은 EUC-KR 입니다.

 

하.. 질문이 길면 답변이 잘 안달리던데 ㅠ...