게시물 엑셀 다운로드시 한글깨짐

게시물 엑셀 다운로드시 한글깨짐

QA

게시물 엑셀 다운로드시 한글깨짐

본문

그누보드에서

엑셀업로드/다운로드 스킨 다운 받았는데..

 

스킨에서  보드 자료를 엑셀로 변환 다운로드 하는데 한글이 깨져

구글링 등 아무리 찾아보고 해 보아도 한글깨지는 것 못 고치겠습니다.

아시는 분 도움주시면 감사하겠습니다.

게시판은 아래 링크

http://acedb.co.kr/gnub5/bbs/board.php?bo_table=ttexcel

 

아래는 엑셀다운로드 소스


<?php
include_once('./_common.php');
$csv = 'xls';
// MS엑셀 XLS 데이터로 다운로드 받음
if ($csv == 'xls')
{
 
 if($_GET[stx]){
  $searches .= "and (wr_subject = '{$_GET[stx]}' or wr_content = '{$_GET[stx]}' or wr_1 = '{$_GET[stx]}' or wr_2 = '{$_GET[stx]}' or wr_3 = '{$_GET[stx]}'  or wr_3 = '{$_GET[stx]}'  or wr_3 = '{$_GET[stx]}')";
 }
 
 if($_GET[fr_date] && $_GET[to_date]){
  $fr_date_a = $_GET[fr_date]." 00:00:00";
  $to_date_a = $_GET[to_date]." 23:59:59";
  $searches .= "and (wr_datetime between '{$fr_date_a}' and '{$to_date_a}') ";
 }
    $sql = " SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches}";
    $result = sql_query($sql);
 
    $cnt = sql_num_rows($result);  // <-$cnt = _num_rows($result);
    if (!$cnt)
        alert("출력할 내역이 없습니다.");
    /*================================================================================
    php_writeexcel http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/
    =================================================================================*/
    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_workbook.inc.php');
    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_worksheet.inc.php');
    $fname = tempnam(G5_DATA_PATH, $board.".xls");
    $workbook = new writeexcel_workbook($fname);
    $worksheet = $workbook->addworksheet();
    // Put Excel data
    $data = array('No','id(수정금지)','날짜','제목','필드1','필드2','필드3','필드4','필드5');
    $data = array_map('iconv_euckr', $data);
    $col = 0;
    foreach($data as $cell) {
        $worksheet->write(0, $col++, $cell);
    }

    for($i=1; $row=sql_fetch_array($result); $i++)
    {
 // $sendcost = iconv_euckr(($row['sendcost'] ? '착불' : '선불'));    
  $row = array_map('iconv_euckr', $row);
  
  
  $up_date = date("y/m/d", strtotime($row['wr_datetime']));
   $worksheet->write($i, 0, $i);
   $worksheet->write($i, 1, $row['wr_id']);
         $worksheet->write($i, 2, $up_date);
         $worksheet->write($i, 3, $row['wr_subject']);
         $worksheet->write($i, 4, $row['wr_1']);
         $worksheet->write($i, 5, $row['wr_2']);
         $worksheet->write($i, 6, $row['wr_3']);
         $worksheet->write($i, 7, $row['wr_4']);
         $worksheet->write($i, 8, $row['wr_5']);
   /*
         $worksheet->write($i, 9, $row['wr_6']);
         $worksheet->write($i, 10, $row['wr_7']);
         $worksheet->write($i, 11, $row['wr_8']);
         $worksheet->write($i, 12, $row['wr_9']);
         $worksheet->write($i, 13, $row['wr_10']);
   */
    }
    $workbook->close();
 
 header( "Content-type: application/vnd.ms-excel");
 //header("Content-type: application/vnd.ms-excel; charset=utf-8");
    header( "Content-Type: application/x-msexcel; name=\"{$bo_table}-".date("ymd", time()).".xls\"");
    header( "Content-Disposition: inline; filename=\"{$bo_table}-".date("ymd", time()).".xls\"");
//Print("<Meta Http-Equiv=\"Content-Type\" Content=\"Application/Vnd.Ms-Excel; Charset=utf-8\">");
 
 //echo "\xEF\xBB\xBF";
 /*
 function ExcelHeader($sFileName) {
 $excelnm = iconv('UTF-8','EUC-KR',$sFileName);   //-- 추가
 header("Content-type: application/vnd.ms-excel");
 header("Content-type: application/vnd.ms-excel; charset=utf-8");
 header("Content-Disposition: attachment;filename=\"" . $excelnm . "\"");  //--변수 변경
}
*/
 
//    header( "Content-type: application/vnd.ms-excel" );  
//    header( "Content-type: application/vnd.ms-excel; charset=utf-8"); 
//    header( "Content-Disposition: attachment; filename = TEST.xls" );  
//    header( "Content-Description: PHP4 Generated Data" );
//Print("<Meta Http-Equiv=\"Content-Type\" Content=\"Application/Vnd.Ms-Excel; Charset=utf-8\">");
 
    $fh=fopen($fname, "rb");
    fpassthru($fh);
    unlink($fname);
    exit;
}
//function iconv_euckr($str)
//{
    return iconv('utf-8', 'euc-kr', $str);
//}
if (mysql_num_rows($result) == 0)
{
    echo "<script>alert('출력할 내역이 없습니다.'); window.close();</script>";
    exit;
}
?>
 

이 질문에 댓글 쓰기 :

답변 2

1 받은 파일의 속성을 먼저 확인 하시고요

2 환경 적인 변수 가 많아서 Charset 확인 을 해보세요

1 받은 파일의 속성을 먼저 확인 하시고요

2 환경 적인 변수 가 많아서 Charset 확인 을 해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 34
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT