엑셀 주문내역 한글깨짐

엑셀 주문내역 한글깨짐

QA

엑셀 주문내역 한글깨짐

답변 2

본문

위제목으로 검색해서 나오는 방법들로 다해봤는데... 해결이 안되네요..

배송정보 일괄등록용 엑셀파일 다운로드 여기 부분도 한글이깨지고..

 

관리자페이지 원본그대로 받아서 업로드후 해봐도 안되네요

 

처음엔 잘되다가 어느순간 갑자기...깨지더라구요 

 

 

 

<?php
$sub_menu = '400400';
include_once('./_common.php');

auth_check($auth[$sub_menu], "w");

if($_POST['chk']) { 
for ($i=0; $i<count($_POST['chk']); $i++) { 

$k    = $_POST['chk'][$i]; 
$odid[] = $_POST['od_id'][$k]; 


$od = implode(", ", $odid); 
$where = "WHERE od_id IN($od)"; 

// 주문정보
 $sql = " SELECT a.od_id, od_b_zip1, od_b_zip2, od_b_addr1, od_b_addr2, od_b_addr3, od_b_addr_jibeon, od_b_name, od_b_tel, od_b_hp, b.it_name, ct_qty, b.it_id, a.od_id, od_name, od_memo, od_time, od_invoice, b.ct_option, b.ct_send_cost, b.it_sc_type
               FROM {$g5['g5_shop_order_table']} a, {$g5['g5_shop_cart_table']} b
              where a.od_id = b.od_id 
              and od_status = '준비'
            order by od_id desc ";
$result = sql_query($sql);

if(!_num_rows($result))
    alert_close('배송처리할 주문 내역이 없습니다.');

function column_char($i) { return chr( 65 + $i ); }

if (phpversion() >= '5.2.0') {
    include_once(G5_LIB_PATH.'/PHPExcel.php');
    
    $headers = array('순번','주문일', '주문번호', '송장번호', '수량', '구매자', '수취인', '전화번호', '휴대전화', '배송비', '우편번호','주소','상품명','옵션','배송메세지','','','','','','공급자');
    $widths  = array(5,20, 20, 10, 10, 10, 10, 15, 15, 10, 10,30,40,40);
    $header_bgcolor = 'FFABCDEF';
    $last_char = column_char(count($headers) - 1);

    for($i=1; $row=sql_fetch_array($result); $i++) {
        $rows[] = 
           array(
            $row[''],
               $row['od_time'],
         ' '.$row['od_id'], 
            $row['od_invoice'],
         ' '.$row['ct_qty'],
            $row['od_name'], 
            $row['od_b_name'],
         ' '.$row['od_b_tel'], 
         ' '.$row['od_b_hp'],
            $row[''], 
         ' '.$row['od_b_zip1'].$row['od_b_zip2'],  
 print_address($row['od_b_addr1'], $row['od_b_addr2'], $row['od_b_addr3'], $row['od_b_addr_jibeon']),
               $row['it_name'],
            $row['ct_option'],
              $row['od_memo']);
    }

    $data = array_merge(array($headers), $rows);
    

    $excel = new PHPExcel();
    $excel->setActiveSheetIndex(0)->getStyle( "A1:${last_char}1" )->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB($header_bgcolor);
    $excel->setActiveSheetIndex(0)->getStyle( "A:$last_char" )->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->setWrapText(true);
    foreach($widths as $i => $w) $excel->setActiveSheetIndex(0)->getColumnDimension( column_char($i) )->setWidth($w);
    $excel->getActiveSheet()->fromArray($data,NULL,'A1');

    header("Content-type: application/vnd.ms-excel; charset=euc-kr");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"naturalbud-".date("ymd", time()).".xls\"");
    header("Cache-Control: max-age=0");

 $row = array_map('iconv_euckr', $row);
    $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
    $writer->save('php://output');
} else {
  
}
?>

 

이 질문에 댓글 쓰기 :

답변 2

한글이 깨지는 원인 

일단 언어코딩부터 확인해 보세요

utf-8로 정상으로 업로드 되엇는지...

php.ini

mysql.cnf

php와 mysql 설치시 언어셋도 확인해보세요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 235
© SIRSOFT
현재 페이지 제일 처음으로