jsp웹에서 ajax 함수를 호출하여 서버로 한글 파라미터를 전송하면 한글이 깨집니다.
AJAX가 기본적으로 파라미터를 UTF-8로 인코딩하여 전송을 한다고 하더군요.
이것 때문에 몇일 고생했네요..
이것저것 해보고, 괜히 톰캣도 만지작거리기도 하다가 결국...
비베스크립트 써서 Hex코드 변환하는 방식으로 해결을 했지만..
쌩뚱맞게 왠 비베인가 싶어서..다시 방법을 찾다가 결국 아주 간단하게 해결을 봤네요.
파라미터를 보내는 jsp단에서 해당 파라미터를 다음과 같이 처리합니다.
escape(encodeURIComponent('한글파라미터'));
XMLHttpRequest의 send함수를 통해서 스트럿츠 단으로 파라미터를 전송하게 되면..
스트럿츠(Action클래스)에서는 이 UTF-8로 날아온 파라미터를 다시 디코딩을 해줍니다.
URLDecoder.decode('받은파라미터', "UTF-8");
그럼 끝..
- 호오..감사합니다..찾느라 수고 하셨네요..
- 블럭버스터
- 전 base64로 해결합니다. 그럼 OS, was 상관없이 잘 됩니다.
- aa
- 그냥 encodeURI만써도 한글파라미터 전달은 쉽게 됩니다
escape,encodeURIComponent, encodeURI 파라미터를 인코딩 하는 방식이 다 틀립니다
알아보고 경우에 맞게 쓰시면 되겠죠??ㅋㅋ - ssamzie101
출처 : Okjsp.pe.kr - 재롱이
http://www.okjsp.pe.kr/seq/106725
'javascript > Ajax' 카테고리의 다른 글
Ajax 응용프로그램에서 데이타 교환하기 (0) | 2008.05.19 |
---|