스프링 프로젝트 생성 후 샘플 코드 한글 깨짐 현상

by 조쉬 posted Mar 31, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

스프링 프로젝트를 생성하고 샘플 코드를 실행하면 한글이 깨져서 나옵니다.

 

 

 

아래와 같이 한글이 깨지네요.

 

 

바로 UTF-8 설정이 안되어 그런건데요.

 

해결 방법은 

1. JSP파일에 인코딩 정보를 추가해 줍니다.

 

<%@ 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> 

<title>Home</title> 

</head> 

<body> 

<h1> 

Hello world!   

</h1> 

 

<P>  The time on the server is ${serverTime}. </P> 

</body> 

</html>

 

위 굵은 부분을 추가해 줍니다.

 

다른 방법으로

2. web.xml 에 인코딩 정보를 추가해 줍니다.

 

<filter>   

    <filter-name>encodingFilter</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>   

    <init-param>   

       <param-name>forceEncoding</param-name>   

       <param-value>true</param-value>   

    </init-param>   

</filter>   

<filter-mapping>   

    <filter-name>encodingFilter</filter-name>   

    <url-pattern>/*</url-pattern>   

</filter-mapping>

 

위 셋팅을 web.xml에 추가합니다.

 

특히 forceEncoding 부분을 같이 넣어주면 각 JSP파일에 인코딩 부분을 추가하지 않아도 강제 인코딩이 적용됩니다.

 

 

스프링이 아닌 단순 웹 프로젝트인 경우

 

server.xml

 

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>

를 추가하여 한글 URL을 사용할 수 있습니다.