StreamWriter ошибочные символы
Возникла проблема, когда streamwriter генерирует ошибочные символы в csv, который я создаю. Персонажи, , появляются только в начале файла:
<code>5,"GEN",555555555,,"Evan","Smith",,,,,,,,,,,,,,,,,,,,,,,,,"[email protected]" 5,"GEN",555555555,,"Dorathy","Smith",,,,,,,,,,,,,,,,,,,,,,,,,"[email protected]" 5,"GEN",555555555,,"Marvin","Smith",,,,,,,,,,,,,,,,,,,,,,,,,"[email protected]" .... </code>
Выглядит для меня как проблема кодирования. Я пробовал использовать другую кодировку, а также регулярное выражение для очистки строки без особой удачи. Вот код для предварительного просмотра (хотя в этом нет ничего сложного). Также он работает как веб-процесс.
<code>string fileName = includeEmail == false ? "attachment; filename=stuacct_batch.txt" : "attachment; filename=rentals.csv"; Context.Response.Clear(); Context.Response.AddHeader("content-disposition", fileName); Context.Response.ContentType = includeEmail == false ? "text/plain" : "text/csv"; using (StreamWriter sw = new StreamWriter(Response.OutputStream, Encoding.UTF8)) { string line = ""; foreach (Student s in students) { // ... some logic above that that's misc. to this problem line = "5,\"GEN\"," + s.StudentNumber + ",,\"" + s.FirstName + "\",\"" + s.LastName + "\",,,,,,,,,,,,,,,,,,,,,,,,,\"" + s.Email + "\""; sw.WriteLine(line); } } Context.Response.End(); Context.Response.Flush(); Context.ApplicationInstance.CompleteRequest(); </code>