목차
php로 제작된 웹사이트에서 엑셀 다운로드를 받는데 한글로 된 엑셀 파일명이 깨지는 경우가 있다.
문서 제목이 엑셀 다운로드이다보니, ms 엑셀 2010 다운 같은 것을 기대하고 들어온 분들이 많은 것 같다.
그런 분들은 이 곳을 참조!
예전에는 잘 되다가 갑자기 안된다는 보고가 생기는데, 그럴리는 없다.
처음부터 안되는 것이다.
크롬 브라우저에서는 한글 파일명으로 엑셀 파일 다운로드가 가능하지만 IE에서는 한글 파일명의 한글이 깨지고 이상한 문자로 만들어서 엑셀 파일명까지 인식이 안되는 문제가 생긴다.
보통 php 엑셀 다운로드 소스는 다음과 같이 구성될 때가 많다.
ExcelHeader("한글명.xls");
function ExcelHeader($sFileName) {
header("Content-type: application/vnd.ms-excel");
header("Content-type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment;filename=\"" . $sFileName . "\"");
}
눈치 챘겠지만, 인터넷 브라우저에서 한글이 깨지는 문제는 인코딩 문제 때문이다.
다음과 같이 처리하면 한글 깨짐이 해결된다.
function ExcelHeader($sFileName) {
$excelnm = iconv('UTF-8','EUC-KR',$sFileName); -- 추가
header("Content-type: application/vnd.ms-excel");
header("Content-type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment;filename=\"" . $excelnm . "\""); --변수 변경
}
크롬은 당연히 잘 되고, 적어도 IE11과 엣지에서도 액셀 다운로드시 한글 깨짐은 해결되었다.
반응형
'Dev > php' 카테고리의 다른 글
php include로 파라미터 값 넘기기 (php include parameters) & php switch case 분기 처리 (0) | 2021.07.01 |
---|---|
php $_SERVER (서버함수) 예제 (0) | 2020.12.31 |
워드프레스 이미지를 자르는데 에러가 발생했습니다. 에러. php gd 설치 (0) | 2020.09.04 |
asp, html, jsp, php include(인클루드) 하는 방법. (0) | 2020.08.14 |
php 문자열 자르기 함수 substr 로 현재 페이지의 주소로 switch문 분기 구조 예제. (0) | 2020.03.07 |
댓글