본문 바로가기

정보공유

DB내용을 엑셀로 저장 후 다운로드시 한글깨질때

반응형

DB에 있는 내용을 UTF-8로 인코딩 된 페이지에서 엑셀로 저장시켜 다운로드할 때 인코딩 타입이 틀리면 한글이 깨지게 된다. 

nchar, nvarchar, ntext에 저장된 한글값을 불러올 때 깨지는 현상이 나오는데, 

웹페이지 상에서 codepage나 Charset을 설정해도 깨진다. 

 

이런 경우 엑셀 다운로드 설정하는 곳에 아래의 코드를 추가해주면 한글은 안 깨지게 된다. 

 

Response.BinaryWrite(ChrB(239) & ChrB(187) & ChrB(191))

 

물론 codepage와 charset은 함께 지정해주어야한다. 

 

@codepage="65001" language="VBScript" 

session.codePage = 65001
Response.CharSet = "UTF-8"

Response.BinaryWrite(ChrB(239) & ChrB(187) & ChrB(191))  '<-- 이부분을 추가
Server.ScriptTimeOut = 53600
Response.Buffer = true
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=rawdata.xls"
반응형