본문 바로가기

BE/Spring

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

인트로

오랜만에 다시 스프링 개발을 시작했다. 네이버 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. 한글 깨짐 해결

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