2013-04-24 3 views
0

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(); 
+0

앱이 CSV 파일을 만들고 작성하는 정확한 기준은 무엇입니까? –

+0

응용 프로그램은 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

+0

'StreamWriter'는 텍스트를 쓰는 데 사용하는'Encoding '을 지정할 수있는 생성자를 가지고 있습니다. 기본값은 UTF-8입니다. 'WriteFile()'은있는 그대로 파일을 전송합니다. 따라서 파일이 다른 서버에서 다르게 인코딩되면 파일을 쓸 때 동일한 '인코딩'을 사용하면 안됩니다. 실제로 파일을 만드는 코드를 보여줄 수 있습니까? –

답변

0

그것이하지 않는 IIS는 기능이 없습니다 만들어진. 대부분이 사용중인 MSSQL 인스턴스에 의해 발생합니다.

http://msdn.microsoft.com/en-us/library/aa237861%28v=sql.80%29.aspx

테이블 편집기에서 테이블을 탐색하고 설정 기본 인코딩의 유형을 확인합니다.

+0

두 서버의 데이터베이스 (및 테이블)는 동일한 데이터 정렬 및 동일한 데이터 유형을 사용하여 동일한 스크립트로 설정되었으므로 서로 다를 수 있습니다. 위의 링크는 내 레지스트리와 일치 할 수없는 레지스트리 키를 참조합니다. – user470249

+0

SQL 서버에서 데이터 유형을 확인 했습니까? 이것 좀 봐 : [링크] (http://stackoverflow.com/questions/12512687/sql-server-utf8-howto) –