다운로드 기능을 추가하여 파일을 다운받을때 파일명이 한글로 된 파일은 다음과 같이 글씨가 제 멋대로 깨져서 나옵니다..ㅠ_ㅠ
인코딩을 euc-kr로 바꿔줘도 안되고..ms949는 먹히지도 않고..
뭐 좋은방법 없을까요??
다운로드 관련 소스는 다음과 같습니다..
======================================================================================
private void Button1_Click(object sender, System.EventArgs e)
{
//파일 이름 및 위치를 변수로 받아옴
string filePath = @"Documents\"+lblTitle.Text;
//한글이 깨지지 않기위해
HttpUtility.UrlEncode(filePath, new UTF8Encoding()).Replace("+", "%20");
Response.Clear();
//타입 지정
Response.ContentType = "Application/UnKnown";
//파일 이름 보내주기
Response.AddHeader("Content-Disposition", "attachment;filename=" + Path.GetFileName(filePath));
//파일 전송
Response.WriteFile(filePath);
}
=====================================================================================
첫댓글 자답 : AddHeader 부분을 ||||| Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filePath.ToString(), new UTF8Encoding()).Replace("+", "%20")); |||| 다음과 같이 바꾸니깐 되긴 하는데..
HttpUtility.UrlEncode(filePath.ToString(), new UTF8Encoding()).Replace("+", "%20")); <-- 요놈은 도대체 뭐하는 놈인지....
파일경로의 스페이스가 들어간 부분을 처리해주는 로직같은데요..
Web.config의 Globalization Section 의 속성 (requestEncoding, responseEncoding, fileEncoding) 을 "ks_c_5601-1987" 바꿔주세요., 그럼, 작업하시기 편하고, 파일 다운로드도 잘 되실겁니다.,