본문 바로가기
웹/JSP-Servlet

JSP 서블릿 한글오류, 한글깨짐 해결

by 둥둥동동# 2021. 12. 10.
728x90

현상

 

웹페이지에서 한글이 표현되지 않음

 

해결방법

 

확인해야할 포인트는 크게 세곳 입니다

JSP,서블릿(Controller),톰캣

 

HTML, JSP

-html파일의 인코딩방식 지정

1
2
3
4
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
cs

 

-jsp파일의 인코딩방식 지정

최상단에 삽입합니다

1
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
cs

 

-form의 인코딩방식 지정

1
<form method="post" accept-charset="utf-8">
cs

 

 

Servlet

 

-request객체(받을 데이터)의 인코딩방식을 직접 지정

POST방식일 경우 사용하며 request.get-으로 데이터를 리턴받기전에 실행되어야 합니다

1
2
3
@Override
    public  void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
cs

 

setContentType은 메세지바디에만 적용되기 때문에  GET으로 데이터를 받는경우 적용되지 않습니다

따라서 톰캣서버에서 직접 인코딩방식을 지정해야 합니다

 

Tomcat

-서버의 설정을 변경합니다

톰캣/conf/server.xml에서 아래의 내용을 찾은 뒤 URIEncoding="utf-8"을 추가

1
2
3
4
<Connector port="8080" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443" 
       URIEncoding="utf-8"/>
cs

 

 

 

 

728x90

댓글