현재 ASP .NET 응용 프로그램 용으로 Visual Studio 2008을 사용하고 있습니다. Response 개체를 통해 Excel 파일을 서버에 보내려고합니다. 문제는 파일의 제목을 일본어로 설정할 수없는 것입니다. 일본어 파일 이름으로 설정하면 가비지 문자로 반환됩니다. 일본어 WinXP에서 일본어 IE 브라우저를 사용하고 있습니다.ASP .NET 일본어 파일 이름의 파일 다운로드
Response.AppendHeader("Content-Type", "application/vnd.ms-excel");
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", "日本語.xls"));
또는
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", Server.HtmlEncode("日本語.xls")));
는 이미
Response.Charset = "Shift_JIS";
또는
Response.Charset = "sjis";
어떤 아이디어-JIS 시프트하는 인코딩을 변경하려고? Btw, Visual Studio 2005에서도 동일한 문제가있었습니다.
저는 이것을 믿지 않습니다. 그것은 효과가 있었다. – Nap
임시 폴더에서 열린 파일 이름이 유니 코드로 인코딩 된 이름으로 설정되는 것을 방지하기 위해이 솔루션을 Java에서 보았습니다. 문자열 fileName = "데이터 출력 .txt"; HttpServletResponse response = requestCondition.getResponse(); response.setContentType ("application/plain"); 문자열 dFilename = 새 문자열 (fileName.getBytes ("Windows-31J"), "ISO-8859-1"); response.setHeader ("Content-Disposition", "attachment; filename ="+ dFilename); response.setCharacterEncoding ("WINDOWS-932"); – Nap