ajaxplorer-3.0.1을 사용중인데 한글 업로드 / 한글 다운로드는 문제가 없지만
한글파일이 포함된 폴더의 압축 다운로드에는 문제가 발생한다.
아래의 링크를 따라 수정을 해봤지만 흐음.. 안되는건 여전 ㅠ.ㅠ
[링크 : http://sj0000.tistory.com/27]
한글파일이 포함된 폴더의 압축 다운로드에는 문제가 발생한다.
아래의 링크를 따라 수정을 해봤지만 흐음.. 안되는건 여전 ㅠ.ㅠ
[링크 : http://sj0000.tistory.com/27]
'프로그램 사용 > ajaxplorer' 카테고리의 다른 글
ajaxplorer 3.2.3 모바일 페이지 지원 (0) | 2011.05.14 |
---|---|
ajaxplorer - guest 유저는 왜 안만들어져? (0) | 2011.05.04 |
ajaxplorer 한글문제 (2) | 2011.03.21 |
ajaxplorer - 음악틀기 (0) | 2011.02.15 |
ajaxplorer 외부에서 업로드시 용량제한 (2) | 2011.01.03 |
ajaxplorer 3.0.1 에서 이미지 편집(pixlr) 실행이 안될경우 (2) | 2010.11.09 |
댓글을 달아 주세요
근본적인 원인은 압축할때 파일명이나 이런것 그대로 압축이 되는것이 문제였습니다.
2013.10.04 14:45 [ ADDR : EDIT/ DEL : REPLY ]zip 의 포맷을 확인 해본 결과 bit flag 부분의 11번째 비트가 1이면 내부 코멘트나 파일명이 utf8 인것으로 인식 하도록 되어 있고
ajaxplorer가 사용하는 pclzip 라이브러리는 이 값이 0 입니다. (모든 플래그의 값이 다 0으로 설정됨)
압축 푸는 프로그램(알집 등) 의 경우 기본적으로 컴퓨터(windows의 경우 cp949)의 인코딩 방식을 따르도록 되어 있습니다.
압축파일명이 깨진 경우 압축 푸는 프로그램에서 설정부분에 가서 utf8 로 변경 하면 특별한 수정 없이도 압축이 잘 풀립니다.
이미 많이 공개 되어 있는 iconv() 를 써서 하는것도 효과는 있습니다.
하지만 이것은 파일 여러개를 묶었을때 효과가 있고 폴더를 내려 받을때는 폴더명만 안깨지고 폴더 안의 모든 파일명은 다 깨지더군요
근본적인 해결 방법은 위에서 이야기 한 flag 를 설정 하는 방법 입니다.
-----
core/classes/pclzip.lib.php
파일에서
$p_header['flag'] = 0;
부분을 찾아서 값을 아래와 같이 2048 로 하면 됩니다.
$p_header['flag'] = 2048;
-----
이것은 위에서 이야기 한 11번째 플래그 값을 1로 설정 하는것 으로 해당 압축 파일의 모든 파일명이 utf8 이다 라고 이야기 해주는것입니다.
압축 푸는 프로그램들은 이 값을 보고 utf8 로 파일명을 읽어오기 때문에 깨지는것 없이 잘 동작 합니다.
이렇게 글 남기는것은 이거 찾느라 몇일 고생해서 다른 분들과 공유하기 위함 입니다.
우와.. zip 포맷까진 생각을 못했는데 감사합니다!!
2013.10.04 16:50 신고 [ ADDR : EDIT/ DEL ]