블로그 이미지
안녕하세요~ iolate(isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (162)N
Server, Cloud (7)
끄적끄적 (9)
Linux, Ubuntu (22)
개발질 (44)
Mac (18)
iOS (23)
IoT (11)N
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (9)
비공개글 (0)
Total572,920
Today199
Yesterday229

망할 MS는 unicode 를 기본지원하지는 못할망정 호환지원도 제대로 못한다.


utf-8 csv의 경우에, Excel 로 바로 열면 한글이 모두 깨져버리는데,

데이터 불러오기 등의 번거로운 방법을 통해 불러오더라도 깨지는 X같은 경우가 발생한다.


나도 웬만하면 cp949로 인코딩을 굳이 해줄텐데,, 웹에서 javascript 로 데이터를 생성하고 바로 내려받는지라,

어떻게 방법이 없이 MS에 대한 저주만 한가득 하고 있었는데....


-------------------------------------------


UTF-8 BOM 을 통해 (반틈만) 해결하였다.


방법은, 파일의 가장 앞에 \xef\xbb\xbf 혹은 \ufeff 을 넣어주면 된다.

이제 Excel 에서 바로 열어도 한글이 깨지지 않는다.


나의 경우엔

'data:application/csv;charset=utf-8,'+encodeURIComponent(csv)

'data:application/csv;charset=utf-8,\ufeff'+encodeURIComponent(csv)

이렇게 바꿔주었다.


다만, Excel 이 아닌 다른 프로그램으로 열거나 직접 csv파일을 읽어와서 작동시킬때 문제가 생길 수도 있는데....

이건 MS 를 욕하자.


-------------------------------------------


MS 는 IE(+Edge)와 CP949(euc-kr)를 하루빨리 없애버렸으면 좋겠다.



참고


UTF-8 인코딩에서의 BOM(Byte Order Mark) 문제 :: wystan's tales


https://stackoverflow.com/questions/17879198/adding-utf-8-bom-to-string-blob

저작자 표시 비영리 변경 금지
신고
Posted by iolate

최근에 달린 댓글

최근에 받은 트랙백

글 보관함