[JSP 개념] request.setCharacterEncoding("utf-8"); 한글 인코딩

2021. 4. 6. 00:26 Java 관련/JSP 개념

jsp에서 값을 받을 때 한글로 된 값을 받으려면 한글로 CharacterEncoding을 하여 받아야 한다.

해당 부분을 주석처리한 후 JSP 파일을 실행해보자

파일 구성은 다음과 같다.

<duke_image.jsp>

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%
	request.setCharacterEncoding("utf-8");
	String name = request.getParameter("name");
	String imgName = request.getParameter("imgName");
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>이름은 <%=name%>입니다.</h1><br/>
<img src="./image/<%=imgName%>" />
</body>
</html>

duke_image.jsp 파일을 아래 include1.jsp 파일에 include하여 출력하려고한다.

<include1.jsp>

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%-- <%
request.setCharacterEncoding("utf-8");
%> --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
안녕하세요. 쇼핑몰 중심 JSP 시작입니다.
<br/>
<jsp:include page="duke_image.jsp">
	<jsp:param value="듀크" name="name"/>
	<jsp:param value="duke.png" name="imgName"/>
</jsp:include>
<br>
안녕하세요. 쇼핑몰 중심 JSP 끝 부분입니다.!!
</body>
</html>

출력 결과는 다음과 같다.

include는 잘 되었지만 다음과 같이 한글이 정상 출력이 안되서 나온다.

자 이번엔 다음과 같이 request 인코딩 부분을 다음과 같이 주석 해제 후 실행을 해보자.

다음과 같이 정상 출력되는 것을 확인할 수 있다.

 

출처 : namubada.net/233?category=769900