한글화일을 다운로드할 때 문제가 발생한다는 문의를 받고 삽질 시작.
3시간여의 삽질 끝에 QueryString으로 한글을 보낼 경우 Encoding 문제로 깨질 수 있다는 사실을 알아내고
해결방법을 찾았으나 게시판엔 UTF8에 대한 이야기로 가득 ㅡㅡ;;;;
클라이언트 브라우저 세팅에 관한 Resolution이 나오기에
사용자들의 설정에 어플리케이션을 맡길 수 없다고 판단.
bypassing 하기로 했다.
System.Web.HttpUtility 클래스를 사용해서
QueryString으로 넘기기 전에 아예 UrlEncoding을 해서 넘기고
받은 프로그램에서 다시 UrlDecoding 하는 방법으로 해결.
[C# Code]
<send program>
string strFilename = "파일이름.txt";
string strEncodedFilename = System.Web.HttpUtility.UrlEncode(strFilename);
... QueryString엔 strEncodedFilename을 사용
<receive program>
string strFilename = System.Web.HttpUtility.UrlDecode(Request.QueryString("filename"));
<send program>
string strFilename = "파일이름.txt";
string strEncodedFilename = System.Web.HttpUtility.UrlEncode(strFilename);
... QueryString엔 strEncodedFilename을 사용
<receive program>
string strFilename = System.Web.HttpUtility.UrlDecode(Request.QueryString("filename"));
Posted by 망고
