2026, 새로운 도약을 시작합니다.

게시물 엑셀 다운로드시 한글 깨짐 채택완료

안녕하세요 게시물을 엑셀로 다운받으려고 하는데

테이블로 만드니까 th부분이 한글이 깨져요..ㅜ

charset을 utf-8, euc-kr 로 해도 깨져요 ㅠㅠ

어떻게 해야할까요..

Copy

답변 6개

채택된 답변
+20 포인트

우선 sql fatch에서 select하실때 문자셋이 어떻게 나오는지 부터 확인을 해보신후에..

해당 문자셋으로 변환해서 출력해주셔야 합니다. 

대부분이 utf-8, euc-kr 의 문자셋을 사용하고 있으니..경우에 조금씩 다를수도 있습니다.

환경에 따라 latin계열의 문자셋으로도 사용되는 경우도 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

th부분이 한글이 깨져요....

==

HTML (PHP)  파일 자체 chatset을 확인해 보세요. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

화면 캡쳐도 있으면 좋겠네요

댓글을 작성하려면 로그인이 필요합니다.

class = txt 부분이기본 윈도우 텍스트라서 한글이 지원안하는경우 그래서 윗분들말씀처럼

출력과 문자열 셋을 바꾸는것도 도움이 될것 같아요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

<style type="text/css">
.txt {
    mso-style-parent:style0;
    mso-number-format:"\@";
    border:.5pt solid windowtext;
    font-family: 'Malgun Gothic', '맑은 고딕', 'Arial', sans-serif; /* 한글 폰트 지정 */
}
</style>

스타일 타입 해보시구요.

만약 않되면 헤더파일 열어서 이렇게 해보세요

header("Content-Type: application/vnd.ms-excel; charset=utf-8");

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy



if ($ms =="excel"){
    $g5['title'] = "엑셀 문서 다운로드";
    header( "Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" );
    header( "Content-Disposition: attachment; filename={$hp_filename}.xlsx" ); 
이부분을


if ($ms =="excel"){ $g5['title'] = "엑셀 문서 다운로드"; 

header('Content-Type: application/vnd.ms-excel; charset=utf-8');

header( "Content-Disposition: attachment; filename={$hp_filename}.xlsx" ); 

이렇게 해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해당 파일도 utf8로 셋팅 되어 있는지 체크해보세요.

그리고 <meta charset="utf-8"> 이렇게만 해주는게 표준인데...

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고