반응형
서버로 한글이 포함된 json 메시지를 보냈는데 아래와 같은 에러가 발생하였다.
com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xbf
한글을 입력하는 html의 contentType 및 pageEncoding이 UTF-8로 선언되어있음에도 불구하고, 서버쪽에서 UTF-8로 받지 못하였다. 그리고 json string을 바이너리로 변환할 때 UTF-8로 인코딩되도록 하였지만 현상은 동일했다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
해결방법 1
Run>Run Configurations에서 Tomcat 선택 후 Common 탭에서 Encoding을 UTF-8로 바꿔준다.
해결방법 2
- Run>Run Configurations에서 Tomcat 선택 후 Arguments 탭의 VM arguments에 -Dfile.encoding=UTF-8 추가
- apache-tomcat/bin/catalina.sh에 아래 내용 추가
JAVA_OPTS="-Dfile.encoding=UTF-8
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
[JAVA] jackson -JsonInclude 속성 (null, empty등의 데이터 제외하기) (0) | 2022.03.11 |
---|---|
[JAVA] The method getRealPath(String) from the type ServletRequest is deprecated (0) | 2022.03.11 |
[JAVA] 객체 복제(clone)와 Shallow Copy, Deep Copy (0) | 2022.02.16 |
[JAVA] 싱글톤 패턴(Singleton Pattern) : 멀티 스레드 환경에서의 문제점 (0) | 2022.02.10 |
[JAVA] Priority Queue(우선순위 큐) 우선순위 조건 변경하기 (2) | 2022.02.07 |
댓글