컴퓨터 공학/JavaScript

Node.js UTF-8 데이터 CSV 파일 저장시 한글 깨짐 문제

혼새미로 2019. 11. 14. 12:37
반응형

서버로부터 UTF-8 형식의 문자열을 받아 file-saver 모듈을 사용하여 CSV 파일로 저장할 때 엑셀에서 열람하면 글자가 깨지는 현상이 있습니다.
이때 문자열 앞에 BOM을 추가해주면 CSV 파일을 정상적으로 열 수 있습니다.
Office 2007 이전에는 ANSI 1252 인코딩을 기본 값을 사용하였습니다.
BOM을 추가하면 Office 2007 이후 버전부터 정상적으로 CSV 파일을 열 수 있습니다.

var BOM = "\uFEFF";
var csvData = BOM + csvData;
var blob = new Blob([csvData], { type: "text/csv;charset=utf-8" });
saveAs(blob, "myFile.csv");

참조: https://github.com/eligrey/FileSaver.js/issues/28

반응형