한글의 경우 UTF-8 인코딩을 하지 않으면 페이지가 깨지는 오류가 발생한다. 간단한 예제를 통해서 캐릭터 인코딩 & 디코딩을 진행해보자.
1. 한글데이터 전송 페이지 - for1.jsp
<%@page import="java.net.URLEncoder"%> <%@ page contentType="text/html; charset=UTF-8"%> <% //request.setCharacterEncoding("UTF-8"); String eng = "test"; String kor = "테스트"; String han = URLEncoder.encode(kor, "UTF-8"); %> <jsp:forward page="for2.jsp"> <jsp:param value="<%=eng %>" name="eng"/> <jsp:param value="<%=han %>" name="kor"/> </jsp:forward> |
2. 한글데이터 출력 페이지 - for2.jsp
<%@page import="java.net.URLDecoder"%> <%@ page contentType="text/html; charset=UTF-8"%> <% //request.setCharacterEncoding("UTF-8"); String eng =request.getParameter("eng"); String kor =request.getParameter("kor");//인코딩해서 전달되므로 깨지지 않지만 읽을 수 없는 문자 String han = URLDecoder.decode(kor, "UTF-8");//디코딩 작업을 해서 한글이 읽힘
%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 포워딩된 데이터<br> eng : <%=eng %><br> kor : <%=kor %><br> han : <%=han %><br> </body> </html> |
3. 출력 페이지
'Dev > JSP & Servlet' 카테고리의 다른 글
이클립스 플러그인 설치(퀀텀DB) (0) | 2019.02.19 |
---|---|
JSP - 액션태그를 활용하여 페이지 만들기 (0) | 2019.02.19 |
JSP - 세션과 input태그를 통한 데이터 전송 비교 (0) | 2019.02.19 |
JSP - scope과 attribute (0) | 2019.02.18 |
JSP - Redirect, Forward, Session (0) | 2019.02.15 |