utf-8 환경에서의 파일 다운로드 깨짐!!! > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

utf-8 환경에서의 파일 다운로드 깨짐!!! 정보

utf-8 환경에서의 파일 다운로드 깨짐!!!

본문

제가 완전 초보인데,
리눅스 환경의 utf-8로 제작된 홈페이지를 관리하게 되어 곤혹스럽습니다.  
며칠전 글을 올렸는데 해결이 안되어 이렇게 다시 올립니다.
 
utf-8로 제작되어 있는 홈페이지에서
게시판의 한글의 입출력이 모두 자유롭게 돌아가고 있습니다.
현재 OS와 Php 모두 utf-8을 지원하는 것으로 알고 있습니다.
 
 
다만 게시판의 첨부파일의 다운로드가 깨져서 나옵니다.
 
특히 다운로드 대화창도 뜨지 않고 바로 화면이 바뀌면서 글자가 깨집니다.
 
 
관련 사이트를 모두 뒤져보니 대부분
화일명의 한글 유무와 연관된 설명뿐이더군요
 
하지만 본 사이트의 경우 화일명의 한글 유무와는 크게 상관이 없는 것 같습니다.
화일명의 한글 입출력 모두 자유롭게 가능합니다.
 
 
단지 화일의 다운로드 시 깨지고 맙니다.
확인결과, 유니코드나 utf로 저장된 화일은 그대로 보여주더군여.
 
1. 첨부파일 다운로드의 깨짐 문제  - utf-8 의 문제인가요?
 
2. 다운로드 창이 왜 열리지 않는지요?
 
 
*혹시 도움이 되실까 해서 해당부분 소스를 올립니다.

if (file_exists($filepath)) {
    if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
        header("content-type: doesn/matter");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-transfer-encoding: binary");
    } else {
        header("content-type: file/unknown");
        header("content-length: ".filesize("$filepath"));
        header("content-disposition: attachment; filename=\"$original\"");
        header("content-description: php generated data");
    }
    header("pragma: no-cache");
    header("expires: 0");
    flush();
 
 
 capture.jpg
 
  
  • 복사

댓글 전체

파일 내용이 깨지나요?
파일 제목만 깨지나요?

특히 다운로드 대화창도 뜨지 않고 바로 화면이 바뀌면서 글자가 깨집니다." 이 부분 화면 캡쳐나
주소를 보여 주세요.
rolo님... 그림 파일 캡쳐 올렸습니다.
첨부파일 링크를 클릭하면 나오는 화면입니다.
파일 제목은 전혀 깨지는 게 없구요.. 해당 화면에 파일이 출력되면서 내용이 깨집니다.

왕초보인 제 생각으로는 utf-8 홈페이지에서 utf-8로 만들어지지 않은 파일들을
직접 출력하는 과정에서 내용이 깨져보이는 것 같습니다.

그래서 다운로드 대화창이 나온다면 '저장'을 통해 다운로드 할 수 있지 않을까 하는 추측이...

관련 부분
www.ipar.re.kr
메인화면에서 <관련기사DB> 또는 '아카이브/DB>관련기사DB' 에서 확인하실 수 있습니다.
IE쪽 MIME type  지정이 잘못ㄷ ㅚ어 있는 듯합니다.

header("content-type: doesn/matter");
header("content-type: file/unknown");

이들 헤더에 대해서 IE가 그냥 TEXT 처럼 행동하는군요.

아니면 본인이 쓰는 컴말고 다른 사람 컴에서 해 보세요.
그누보드가 euc-kr로 encode된 것을 utf-8로 되어 있다고 보고
display하기 때문입니다
미리 파일의 종류를 알면 charset를 바꾸면 되겠지만
그것도 쉽지 않습니다
파일 다운로드시에 IE 에서 바로 TEXT로 열도록 지정되어있는듯 합니다...

IE 등록정보/ 고급 메뉴에서 기본값복원 을 눌러주시고,
IE 를 재실행하시고 다시해 보세요....^^
© SIRSOFT
현재 페이지 제일 처음으로