웹개발/spring && springboot

Spring framework 한글깨짐 해결방안

지구별 여행자 임탱 2024. 3. 1. 03:35
728x90

스프링 웹 프레임워크에서 한글이 깨지는 문제는 주로 문자 인코딩 설정이 올바르게 이루어지지 않아 발생할 수 있습니다. 

다음은 한글 깨짐 문제를 해결하기 위한 몇 가지 방법입니다:

프로젝트의 문자 인코딩 설정 확인:
프로젝트의 web.xml 또는 application.properties 파일에서 문자 인코딩 설정을 확인합니다.
이 설정은 UTF-8과 같이 한글을 지원하는 문자 인코딩으로 설정되어야 합니다.


스프링의 인코딩 필터 사용:
스프링에서는 CharacterEncodingFilter라는 인코딩 필터를 제공합니다. 이 필터를 사용하여 요청과 응답의 인코딩을 설정할 수 있습니다.
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>


서버의 기본 인코딩 설정:
서버가 사용하는 기본 인코딩 설정을 확인합니다. 예를 들어, Tomcat의 경우 server.xml 파일에서 URIEncoding과 useBodyEncodingForURI 설정을 UTF-8로 설정해야 합니다.


JSP 페이지의 인코딩 설정:
JSP 페이지에서도 인코딩 설정을 확인합니다. JSP 파일의 상단에 다음과 같은 디렉티브를 추가하여 인코딩을 설정할 수 있습니다:

<%@ page contentType="text/html; charset=UTF-8" %>

이러한 방법들을 통해 스프링 웹 프레임워크에서 발생하는 한글 깨짐 문제를 해결할 수 있습니다.

하지만 각 프로젝트의 환경과 설정에 따라 해결 방법이 달라질 수 있으므로, 상황에 맞게 적절한 방법을 선택하여 적용해야 합니다.