반응형

한글깨짐 2

스프링 부트: 윈도우와 맥에서 한글 파일명 다운로드 문제 해결하기(2)

문제 상황은 이렇습니다. 파일 업로드 기능을 구현했을 때, MacOS에서는 한글 파일명이 정상적으로 데이터베이스에 저장되었지만, Windows에서는 한글 파일명이 자음과 모음이 분리되어 저장되는 현상이 발생했습니다. 이는 운영 체제 간 문자 인코딩 처리 방식의 차이 때문에 발생하는 일반적인 문제였습니다. 처음 시도한 해결책은 다음과 같은 방식이었습니다: try { // 파일 데이터 조회 ResponseFile list = fileService.getFile(attachId, fileId); ... // 파일명 UTF-8 인코딩 후, ISO-8859-1로 재인코딩 String encodedFileName = new String(list.getOriginalName().getBytes(StandardChar..

IT/Java 2024.01.25

스프링 부트: 윈도우와 맥에서 한글 파일명 다운로드 문제 해결하기

문제 상황 스프링 부트(Spring Boot) 기반의 웹 애플리케이션에서 파일 다운로드 기능을 구현할 때, 맥(MacOS)에서는 한글 파일명이 정상적으로 다운로드되지만, 윈도우(Windows)에서는 한글 파일명이 깨지는 문제를 경험했습니다. 이는 운영 체제 간의 문자 인코딩 처리 방식의 차이 때문에 발생하는 일반적인 문제입니다. 해결 방법 이 문제를 해결하기 위해, 한글 파일명을 UTF-8 인코딩으로 처리한 후, ISO-8859-1로 다시 인코딩하는 방식을 사용했습니다. 또한, Content-Disposition 헤더를 적절히 설정하여 브라우저가 파일명을 올바르게 해석하도록 했습니다. 구현 코드 다음은 파일 다운로드를 처리하는 스프링 부트 컨트롤러의 일부 코드입니다: try { // 파일 데이터 조회 R..

IT/Java 2024.01.20
반응형