CSV 보고서를 생성하는 응용 프로그램이 있습니다. 이 로컬로 잘 작동하며 CSV는 Excel에서 정상적으로 열립니다 ...이 파일은 ANSI로 인코딩됩니다. 동일한 코드가 내 서버 중 하나 (전부는 아님)에 배포 될 때 동일한 파일을 유니 코드로 생성하지만 Excel에서 열리지 않습니다 (각 행의 데이터는 첫 번째 열에 있음). 그것은 동일한 코드이므로 IIS 설정이라고 가정하고 있지만 아무것도 찾을 수 없습니다. 아무도 아이디어가 있니?유니 코드 출력과 다른 ANSI 출력
는업데이트 :이 응용 프로그램은 텍스트 파일을 생성하기 위해 StreamWriter
을 사용하여 다음과 같이 텍스트 파일은 응답 스트림으로 전송됩니다
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(file.FullName);
Response.End();
앱이 CSV 파일을 만들고 작성하는 정확한 기준은 무엇입니까? –
응용 프로그램은 StreamWriter를 사용하여 텍스트 파일을 만든 다음 텍스트 파일을 다음과 같이 응답 스트림으로 보냅니다. Response.Clear(); Response.AddHeader ("Content-Disposition", "attachment; filename ="+ file.Name); Response.AddHeader ("Content-Length", file.Length.ToString()); Response.ContentType = "application/octet-stream"; Response.WriteFile (file.FullName); Response.End(); – user470249
'StreamWriter'는 텍스트를 쓰는 데 사용하는'Encoding '을 지정할 수있는 생성자를 가지고 있습니다. 기본값은 UTF-8입니다. 'WriteFile()'은있는 그대로 파일을 전송합니다. 따라서 파일이 다른 서버에서 다르게 인코딩되면 파일을 쓸 때 동일한 '인코딩'을 사용하면 안됩니다. 실제로 파일을 만드는 코드를 보여줄 수 있습니까? –