개발 Q&A

제목 zip 라이브러리 read_file() 시 한글깨짐 문제 관련하여 질문드립니다.
카테고리 PHP
글쓴이 킹킹콩 작성시각 2017/10/25 22:21:44
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 10487   RSS

1. PHPExcel 라이브러리 이용하여 디렉토리에 엑셀파일 저장

- 파일이름은 숫자,-,한글 섞여있습니다.

 

2. 생성된 파일을 zip 라이브러리를 이용하여 압축합니다.

$this->zip->read_file('경로/파일명');

$this->zip->archive('/경로/파일명');

압축한 파일을 지정한 경로에 저장합니다.

 

정말 단순하게 가이드 나온 내용대로 진행중인데,

아카이브로 지정한 파일명은 한글이 정상적으로 저장되는데,

read_file을 통해 압축한 엑셀파일들은 한글이 꺠지게 됩니다.

파일명은 

171025-?댄뵾猷⑥떆-?댄뵾猷⑥떆 ?좎븘移レ넄&移섏빟.xlsx

이런식으로 나오네요.

해당 라이브러리 훑어보니 gzcompress 함수를 이용해 문자열을 압축하는 것 같은데..

아무래도 이 과정에서 깨지는 문제로 보입니다.

gzuncompress, iconv, mb_convert_encoding 를 이용해봤을 때 압축파일에 손상이가고,

gzcompress 를 생략해봤는데 이것도 파일에 손상이 갑니다.

 

잘못된 방향으로 가고있는걸까요?

혹시 해결해보셨거나 방법을 아시면, 말씀해주시면 경청하겠습니다.

 다음글 php-MPOS 사용하여 보신 분 계실까요? (3)
 이전글 기관에서 보안보고서를 보내주었는데 어떤 부분을 수정해야...

댓글

변종원(웅파) / 2017/10/26 09:15:04 / 추천 1

gzcompress 해도 안해도 깨지면 그건 문제가 아닌거구요.

엑셀로 저장된 파일명이 제대로 안나오는거 같은데요? 리눅스 콘솔에서 한글명 제대로 보이게 하려면 기본상태로는 안되고

따로 설정을 해줘야 합니다.

엑셀 라이브러리로 만드는 파일명을 한글빼고 만드시고 archive할때 한글파일명 넣어보세요.