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




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



바로 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을 사용할 수 있습니다.




+ Recent posts