반응형
앞서 실습할 때 한글을 입력했다면 글자가 깨져서 출력되는 경우가 있었을 수 있다.
📌한글 깨지는 이유
한글 처리가 제대로 되기 위해서는 클라이언트 즉, 브라우저에서 문자를 처리하는 방식과 서버에서 문자를 처리하는 방식이 같아야 한다. 즉, 브라우저에서는 문자를 euc-kr 방식으로 처리하는데 서버에서는 ISO-8859-1 방식으로 처리하게 되면 한글이 깨지는 결과가 된다. 클라이언트에서 문자를 euc-kr로 처리한다면 서버에서도 문자를 euc-kr로 처리해야 한글이 제대로 인식된다. 기본적으로 톰캣 서버에서 사용하는 캐릭터 셋은 "UTF-8 방식"이므로 한글이 제대로 인식되려면 Character-set을 변경해주어야 한다.
📌해결1. 인코딩 방식 직접 지정
HTML 경우
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
JSP 경우
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Servlet 경우
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
...
}
GET방식인 경우
server.xml 에서 Connector 태그를 찾아 수정해준다.
<Connector connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
URIEncoding="utf-8"/>
📌해결2. 설정 바꾸기
[Window] > [Preferences] > [Web]
CSS Files / HTML Files / JSP Files 를 모두"ISO 10646/Unicode(UTF-8)로 선택하여 적용
위 작업을 완료하면 이클립스에서 CSS Files / HTML Files / JSP Files 페이지를 생성할 때 기본적으로 UTF-8 방식으로 설정된다.
반응형
'JSP & Servlet > 개념' 카테고리의 다른 글
[JSP & Servlet] 세션(Session) (0) | 2022.03.25 |
---|---|
[JSP & Servlet] 여러 개 파라미터 값(ex. 배열) 받기 - getParameterValues() (0) | 2022.03.25 |
[JSP] GET POST 차이 (0) | 2022.03.25 |
[JSP] 이클립스 톰캣(Tomcat) 서버 추가 (0) | 2022.03.25 |
[JSP & Servlet] JSP & Servlet 이란? (0) | 2022.03.25 |