javascript/Ajax

AJAX 환경에서 한글 파라미터 처리

jeeyong 2007. 12. 6. 16:43

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