PHPExcel 한글깨짐 채택완료
PHPExcel.php를 사용해서
엑셀파일 업로드한 내용을 배열으로 가져오려고 했는데 한글부분이 깨지네요
어떤부분을 추가해야 깨지지 않을까요?
/////////////////////////////////////// 소스 부분 /////////////////////////////////////////////
nclude_once('./_common.php'); require_once ('plugin/Classes/PHPExcel.php'); require_once ('plugin/Classes/PHPExcel/IOFactory.php'); header("Content-Type:text/html;charset=utf-8");
// 저장될 디렉토리 $upfile_dir = "../../data/member/";
//CSV데이타 추출시 한글깨짐방지 setlocale(LC_CTYPE, 'ko_KR.eucKR'); // CSV 한글 깨짐 문제 //장시간 데이터 처리될경우 set_time_limit(0);
$upfile_tmp = $_FILES['excelFile']['tmp_name']; $uploadfile = $upfile_dir.$_FILES['excelFile']['name']; //한글 깨짐 방지
if (move_uploaded_file($upfile_tmp,"{$uploadfile}")) { } else { echo (""); exit; }
$filename = $uploadfile; // 읽어들일 엑셀 파일의 경로와 파일명을 지정한다.
try { // 업로드한 PHP 파일을 읽어온다. $objPHPExcel = PHPExcel_IOFactory::load($filename); $sheetsCount = $objPHPExcel -> getSheetCount();
// 시트Sheet별로 읽기 for($i = 0; $i < $sheetsCount; $i++) { $objPHPExcel -> setActiveSheetIndex($i); $sheet = $objPHPExcel -> getActiveSheet(); $highestRow = $sheet -> getHighestRow(); // 마지막 행 $highestColumn = $sheet -> getHighestColumn(); // 마지막 컬럼 // 한줄읽기 for($row = 2; $row <= $highestRow; $row++) { // $rowData가 한줄의 데이터를 셀별로 배열처리 된다. $rowData = $sheet -> rangeToArray("A" . $row . ":" . $highestColumn . $row, NULL, TRUE, FALSE);
// $rowData에 들어가는 값은 계속 초기화 되기때문에 값을 담을 새로운 배열을 선안하고 담는다. $allData[$row] = $rowData[0];
} }
} catch(exception $e) { echo $e; }
echo "
";";print_r($allData);
echo "
//if ($msg) // alert($msg);
//goto_url('./member_list.php?'.$qstr); ?>
/// 결과 깨짐 표시 ///
![]()
답변 1개
header("Content-Type:text/html;charset=utf-8");
setlocale(LC_CTYPE, 'ko_KR.eucKR'); // CSV 한글 깨짐 문제
이두개가 다르네요?
밑에거 하나를 주석 처리해보세요
답변에 대한 댓글 3개
이걸
setlocale(LC_CTYPE, 'ko_KR.UTF-8'); // CSV 한글 깨짐 문제
파일이 Excel 97 - 2003 통합문서 xls 였네요...
다른이름으로 저장해서 Excel 통합문서(.xlsx)로 변환해서 올리니 잘되네요
답변 달아주셔서 감사합니다 :)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인