본문 바로가기

POST GET 한글 처리

by 801lhy 2019. 6. 20.

HTML에서 한글이 깨지는 경우는 브라우저에서 인식하는 인코딩 방식과 html의 인코딩 방식이 달라서 발생한다.

HTML 브라우저 둘 다 하나의 인코딩 방식으로 통일하면 된다.

GET 의 경우

( 예제코드 )

parameter1.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>get방식 한글처리 예제입니다.</title>
</head>
<body>
	<form action="parameter02.jsp" method="get">
		이름 : <input type ="text" name="name"><br>
		나이 : <input type ="text" name="age"><br>
		학과 : <input type ="text" name="department"><br>
		<input type="submit" value="전송">
	</form>
</body>
</html>

parameter2.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>출력페이지</title>
</head>
<body>
	이름 : <%=request.getParameter("name") %><br>
	나이 : <%=request.getParameter("age") %><br>
	학과 : <%=request.getParameter("department") %><br>
</body>
</html>

form 에서 파라미터를 전달할 때 GET 방식으로 지정하고 그냥 실행할 경우 한글이 깨진다.

- GET 방식의 경우 xml에 코드를 추가해줘야한다.

( post 방식을 구조상 사용할수 없거나 / 영어가 아닌 한글데이터를 전달해야 하는 경우 사용 )

- Server폴더 - Tomcat Server 폴더- server.xml 파일을 열어서 아래 사진의 위치에 URIEncoding="euc-kr" 를 추가한다.

URIEncoding = "euc-kr" 추가한 화면
된다.

 POST 의 경우

(예제코드)

parameter3.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>get방식 한글처리 예제입니다.</title>
</head>
<body>
	<form action="parameter02.jsp" method="post">
		이름 : <input type ="text" name="name"><br>
		나이 : <input type ="text" name="age"><br>
		학과 : <input type ="text" name="department"><br>
		<input type="submit" value="전송">
	</form>
</body>
</html>

parameter1.jsp 와 같은 코드에서 

<form action = "parameter02.jsp" method="post"> 만 변경하고 실행한다. ( 전송방식을 POST 로 변경 )

 

파라미터에서를 받는 페이지에서 인코딩 처리를 하지 않고 실행했을 경우 한글이 깨진다.

- POST 의 경우 컨테이너에 인코딩을 결정할 수 없기 때문에 파라미터를 받는 페이지에서 인코딩 처리를 해야한다.- context type 과 charset 문서타입을 일치시키고, 상단에 <%request.setCharacterEncoding("인코딩방식"); %> 을 추가한다.

- 인코딩 방식 : UTF-8, EUC-KR ( 보내는 쪽 받는쪽 같은 종류로 통일 )

 

<%request.setCharacterEncoding("인코딩방식"); %> 을 추가
된당.

 

'' 카테고리의 다른 글

echart  (0) 2021.09.12
Spring Framework 이해하기 ( home.jsp 동작원리 )  (0) 2019.10.16
웹 개발 프레임워크 조사 React / Angular / Vue  (0) 2019.09.26
어노테이션  (0) 2019.06.20
GET 과 POST의 차이  (0) 2019.06.19