BE/Spring

[Spring] 스프링 한글 깨짐 문제 인코딩 해결

coding_jelly 2020. 8. 13. 18:09

인트로

오랜만에 다시 스프링 개발을 시작했다. 네이버 API를 통해 서적 데이터를 가져오려다가 한글 깨짐이 일어나서 해결 방법을 공유한다. 

블로그에 해결 방법을 기록하는 것의 장점은 문제를 다시 만났을 때 내 글을 보면서 빠르게 해결할 수 있다는 것같다.

해결 방법

1. Windows > Preferences 클릭

 

2. Web > CSS Files 클릭 

Windows > Preferences 에서 Web > CSS Files 으로 들어갑니다. 

CSS Files에서 Encoding을 UTF-8로 변경해줍니다. 

 

3. General > Workspace > Text file encoding 

 

4. web.xml에 인코딩 필터 추가 

src>main>webapp>WEB-INF>web.xml에 아래 내용을 추가합니다. 

	<filter> 
		<filter-name>encoding-filter</filter-name> 
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
		<init-param> 
			<param-name>encoding</param-name> 
			<param-value>UTF-8</param-value> 
		</init-param> 
	</filter> 
	<filter-mapping> 
		<filter-name>encoding-filter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping>

 

5. home.jsp에 헤더 추가

home.jsp에 UTF-8 메타 태그, page 태그 등을 추가합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 추가할부분 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
	<meta charset="UTF-8"> <!-- 추가할부분 -->
	<meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 추가할부분 -->
	<meta http-equiv="X-UA-Compatible" content="ie=edge"> <!-- 추가할부분 -->
	<title>Home</title>
</head>
<body>
<h1>
	Hello world!  
</h1>
<P>  The time on the server is ${serverTime}. </P>
</body>
</html>

 

6. 한글 깨짐 해결

한글 깨짐 문제가 해결된 것을 볼 수 있다.