728x90
반응형
"jsp:param" action tag encoding problem
문제점 및 증상
include 액션태그를 사용할 때, 파라미터를 함께 보내기 위하여 "jsp:param"에 유니코드 문자열을 입력한 후, 결과 페이지에서 확인하여 보니 입력해 두었던 유니코드가 깨져서 "???" 문자열로 표시되었습니다.
다음 예제 코드에서와 같이 "jsp:param"에 유니코드 문자열을 입력한 후에 결과를 확인해 보면, 아래 그림과 같이 유니코드 문자열이 "???"로 깨져서 표시됩니다.
- include.jsp
- duke.jsp
- 실행결과
해결 방법
이것 저것 검색을 해봐도 마땅한 해결책이 보이지 않았었는데, "jsp:param"의 유니코드 문자열(UTF-8)을 입력하지 않고, UTF-8 문자열을 URLEncoder.encode() 메소드를 이용하여 아스키 문자열로 인코딩하여 입력하도록 하고, 파라미터를 받는 페이지에서는 URLDecoder.decode() 메소드로 전달받은 파라미터를 UTF-8 문자열로 다시 변환한 이후에 출력을 하였더니, 한글이 정상적으로 표시되었습니다.
다음코드는 URLEncoder.encode() 및 URLDecoder.decode() 메소드를 활용하여 "jsp:param"의 유니코드 문자열(UTF-8)이 정상적으로 표시되는 것을 확인할 수 있습니다.
- include.jsp
- duke.jsp
- 실행결과
참고자료
'프로그래밍 > Java,JSP' 카테고리의 다른 글
int를 이진 문자열로 변환(convert int to bit-binary string) (0) | 2020.10.15 |
---|---|
16진 문자열을 바이트 배열로 변환하기 (convert hexa-string to byte array) (0) | 2020.09.07 |
이클립스 사용시 몇 가지 팁(폰트 변경, 줄번호 표시) (0) | 2012.11.23 |
자바에서 부호없는 데이터(Unsigned data) 다루기 (0) | 2012.11.07 |
Eclipse에서 javadoc 만들기 (0) | 2012.11.01 |