엑셀 주문내역 한글깨짐
본문
위제목으로 검색해서 나오는 방법들로 다해봤는데... 해결이 안되네요..
배송정보 일괄등록용 엑셀파일 다운로드 여기 부분도 한글이깨지고..
관리자페이지 원본그대로 받아서 업로드후 해봐도 안되네요
처음엔 잘되다가 어느순간 갑자기...깨지더라구요
<?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(!@sql_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 설치시 언어셋도 확인해보세요