WebConfig로 해결한 문자 인코딩의 미스터리

2024. 4. 18. 14:21·삽질 로그
목차
  1. 직면한 문제
  2. 문제의 원인
  3. 해결 방법

Postman 화면

직면한 문제

최근에 SpringBoot에서 작업하면서 이해할 수 없는 상황에 직면했습니다. 제가 사용하고 있는 한글 문자가 제대로 표시되지 않고, 의문표로 뒤덮여 버리는 현상이 나타났습니다. 특히 API 응답에서 한글로 된 메시지가 필요한데, 이 문자들이 온전하게 표현되지 않아 문제가 되었습니다.

문제의 원인

문제는 Spring 프레임워크가 HTTP 응답에 사용하는 기본 문자 인코딩 설정에 있었습니다. Spring Boot는 기본적으로 ISO-8859-1을 사용하는데, 이는 한글 문자를 다루기에 부적합합니다. 인코딩 불일치로 인해 원래 메시지가 알아볼 수 없는 기호로 변해버렸습니다.

해결 방법

이 문제를 해결하기 위해 WebMvcConfigurer를 확장하는 커스텀 WebConfig 클래스를 만들고, extendMessageConverters 메서드를 구현했습니다.

@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
}

UTF-8 문자 집합을 가진 새로운 StringHttpMessageConverter를 컨버터 목록의 맨 앞에 추가함으로써, 제 애플리케이션이 한글 문자를 올바르게 해석하고 표시하도록 보장했습니다.

'삽질 로그' 카테고리의 다른 글

Spring Boot에서 SSL 인증서 설정하기(localhost에서 https를!)  (0) 2024.04.22
특수 문자 오류 해결하기: Invalid character found in the request target  (1) 2024.04.03
  1. 직면한 문제
  2. 문제의 원인
  3. 해결 방법
'삽질 로그' 카테고리의 다른 글
  • Spring Boot에서 SSL 인증서 설정하기(localhost에서 https를!)
  • 특수 문자 오류 해결하기: Invalid character found in the request target
악덕
악덕
우당탕탕 개발 블로그
  • 악덕
    버그와 함께 춤을
    악덕
  • 전체
    오늘
    어제
    • 전체 (25) N
      • TIL (1) N
      • 개발 노트 (19) N
        • Java (5)
        • JavaScript (1)
        • Spring (4)
        • Linux (1)
        • DevOps (1) N
        • etc. (7)
      • 문제 풀이 (0)
      • 삽질 로그 (3)
      • 기타 (2)
  • 링크

    • GitHub
    • project.zip
    • 밀로(millo)
  • 태그

    DevOps
    자료형
    ssl
    객체지향 프로그래밍
    mysql
    자바기초
    solid 원칙
    프로그래밍언어
    Til
    java persistence api
    프로그래밍
    springboot
    gdg
    OOP
    java
    컨테이너
    Docker
    JPA
    웹개발
    Spring Data JPA
  • hELLO· Designed By정상우.v4.10.3
악덕
WebConfig로 해결한 문자 인코딩의 미스터리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.