Ajax와 한글문제
안녕하세요,
AJAX로 한글 데이타를 전송하고 서블릿에서 파라미터로 받는 단순 구조입니다.
일반적인 경우라면 자바 스크립트에서 encodeURIComponent(sendingData)를
통해 데이타를 UTF-8로 인코딩해서 전송하고,
서블릿쪽에선
String receivedData = new String(request.getBytes("ISO8859_1"),"UTF-8");
형식으로 받으면 아무 문제가 없습니다.
하지만, 저희가 WebSphere를 사용하고 있고 디폴트 파일 인코딩 옵션을 KSC5601로
셋팅한 상태에서 작업을 했기 때문에 모든 request 데이타가 일단 KSC5601로인코딩이
된 상태로 수신이 됩니다.
이렇게 되면 데이타는 UTF-8->ISO8859_1->KSC5601이 되어 있는 상태인데요.
이상태의 KSC5601은 한글이 깨져 있는 상태입니다.
이 코드를 다시 UTF-8로 변환하거나, ISO8859로 변환후 다시 UTF-8로 변환을 시켜도
여전히 한글이 깨지는 현상입니다.
일단 궁금한점은 AJAX에서 UTF-8 이나 UTF-16이 아닌 KSC5601이나 EUC-KR로 인코딩하여
전송이 가능한지 이구요.
만약 AJAX에서 다른 형태로 전송이 불가능 하다면, KSC5601로 변환된 코드로 부터 다시
한글코드로 변환 가능한지 여부입니다.
WAS의 디폴트 인코딩 옵션을 끄면 쉽게 해결되지만, 기존에 작성된 페이지들의 파라미터 받는
부분이 전부 수정되어야 하기때문에, 이것도 곤란한 상황입니다.
또 하나 궁금한건 JAVA VM 옵션중 file.encoding 하고 client.encoding.override옵션이
정확이 어떤 의미가 있는지요?
감사합니다.
filter 세팅을 한번 해보시는것이...
원하시는게 어떤 것인지 정확하게 파악이 안됩니다만, 참고로 말씀드리자면...
web.xml 파일 설정에서,
filter, filter-mapping을 사용하면 url-pattern에 따라 자동으로 인코딩을 필터링, 변환 할 수 있습니다.
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
댓글 달기