php 에서 한글 깨짐이라고 검색하면 죄다... 제목 깨지는 것만 나오는데...
나 같이 내용이 깨지는거에 대한 내용이 별로 없어서... 남긴다 ㅎ
나같은 경우는 UTF-8 인 MySQL 에서 CI force_download 를 써서 다운로드 하는 방법으로 개발했는데..
파일 다운로드를 하면 editer 에서는 잘 열리나, 엑셀로 열면 다 깨지고 난리가 난다...
(엑셀 ㄱㄱㄲ)
암튼.. 그래서 방법을 찾던 중 csv 다운로드 시 header 에 UTF-8 선언을 해주고...
--> header('Content-Type:text/csv;charset=UTF-8;');
출력(데이터 쓰기) 직전에 UTF-8 BOM(Byte Order Mark) 을 넣어주면 된다.
--------------------------------------------------------------------------------------------
// Generate the server headers
header('Content-Type: '.$mime.';charset=UTF-8;');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Expires: 0');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.$filesize);
header('Cache-Control: private, no-transform, no-store, must-revalidate');
echo "\xEF\xBB\xBF"; // 얠 넣어줘야 안깨짐...
--------------------------------------------------------------------------------------------
참고 : http://ko.wikipedia.org/wiki/바이트_순서_표식
'개발 관련' 카테고리의 다른 글
URL 인코딩 표 (0) | 2019.02.19 |
---|---|
mysql 데이터 파일 저장 위치 바꾸기 (1) | 2019.02.14 |
php (mobile) - input image (0) | 2017.02.06 |
정규식 !!! 이렇게 좋은것이었다니... (0) | 2016.10.07 |
web 과 was 의 차이점... (0) | 2016.09.19 |
댓글