또 괴롭히네요.. 이노무 인코딩 문제 ㅠ

 

현재 안드로이드에서 JSP페이지로 요청을 보내면 그에 대한 응답으로 xml 페이지를 리턴하고 이걸 파싱해서 앱에서 보여주는걸 만들고 있습니다.

 

문제는 안드로이드에서 한글로 요청을 보내면 안먹힌다는 문제입니다.(영어는 되는군요..)

 

인코딩 문제죠...

안드로이드가 기본적으로 UTF-8이라고 들었습니다.

JSP 페이지에서 xml 데이터로 뿌려주는 페이지 인코딩 UTF-8로 했습니다.

 

<%@ page language="java" contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8"%>

<? xml version="1.0" encoding="UTF-8"?>

 

서버 DB도 UTF-8 인코딩 방식을 사용합니다. 

그럼 인코딩이 동일하니.. 딱히 인코딩 변경할게 없지 않나요?

JSP 페이지에서 String name = request.getParameter("name");

이렇게 이름을 받아오는데.. 결과가 안나오네요 ㅠ

안드로이드서 이름을 영어로 전달하면 문제없이 결과가 출력됩니다 ㅠ

한글로 전달할 시만 결과가 안나옵니다. 참고로 get방식으로 데이터 전달합니다.

 

컴퓨터 웹에서도 확인해봤습니다.

익스플로러 주소창이 ISO-8859-1 인코딩으로 알고있습니다.

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"EUC-KR");

추가하니 웹에서는 한글도 제대로 출력해줍니다.

 

하다보니 이상한게 있었는데.. 원래 한글 인코딩은 EUC-KR이잖아요..

그래서 안드로이드에서 전달시 깨지는걸 UTF-8을 EUC-KR로 변경하면 되지 않을까 싶어서..

String name = new String(request.getParameter("name").getBytes("UTF-8"),"EUC-KR");

로 변경을 하면 되지 않을까.. 싶었는데 역시나 안되네요..

 

어떻게 해야 안드로이드에서도 한글을 전달할수 있을까요...

어렵네요.. 항상 인코딩 문제 ㅠㅠ