질문Q #13613
force_download를 쓸때 파일제목 인코딩 깨짐 현상..
orangeheim2016-05-11 10:35:02

force_download를 이용해서 파일 다운로드를 구현하였는데

크롬에서는 파일 제목이 깨지지 않고 잘 나오는데 ie에서는 제목이 깨져서 나옵니다 ㅠ

코드는

 

$data = file_get_contents($_SERVER['DOCUMENT_ROOT']."/contents/2016.pdf");

$name = '2016_제품소개서.pdf'; 

force_download($name, $data);

 

입니다.

크롬에서는 $name 이름으로 잘 출력되는데 ie 에서는 2016_荑⑤찓_좎_ _쒗뭹_뚭컻__湲곗뾽).pdf 이런식으로 저장이 됩니다 ㅠ

답변3
#1 kaido 2016-05-11 11:09:29

원인은 알고 있는데 별다른 옵션이 없나 확인좀 했더니... 없네요.

원인은 크롬은 urlencode 를 알아서 풀어서 표현해 주고, IE는 그대로 출력해서깨지는 현상입니다.

[force_download 는 웹상으로 호출 하는 거라 파라메터가 url 창으로 넘어가버립니다. 이때 한글은 에러가 나지 않도록 urlencoding 을 시켜버립니다.]

옵션으로 utf-8 지원이 없나 했는데 별도로 없네요 ( ..)

일단 해결책 참고 =  http://underfree.tistory.com/180

 

#2 orangeheim 2016-05-11 11:32:58
해봤는데도 안되네요ㅠㅠ 제가 잘못따라 한걸까요 ㅠㅠ
#3 orangeheim 2016-05-11 13:45:30
iconv('utf-8','euc-kr',$filename);

으로 해결했습니다!