Jak dodać informacje o kodowaniu do strumienia odpowiedzi w ASP.NET?
Mam następujący fragment kodu:
<code>public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/rtf; charset=UTF-8"; context.Response.Charset = "UTF-8"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; context.Response.AddHeader("Content-disposition", "attachment;filename=lista_obecnosci.csv"); context.Response.Write("ąęćżźń󳥌ŻŹĆŃŁÓĘ"); } </code>
Gdy próbuję otworzyć wygenerowany plik csv, otrzymuję następujące zachowanie:
W Notepad2 - wszystko jest w porządku.W kreatorze konwersji słów otwiera się i prosi o konwersję tekstu. Sugeruje UTF-8, który jest w jakiś sposób w porządku.W Excelu - mam prawdziwy bałagan. Żaden z tych polskich znaków nie może być wyświetlany.Chciałem napisać te specjalne znaki informacji kodowania przed moim łańcuchem, tj.
<code>context.Response.Write((char)0xef); context.Response.Write((char)0xbb); context.Response.Write((char)0xbf); </code>
ale to nic nie da. Strumień odpowiedzi traktuje to jako normalne dane i konwertuje je na coś innego.
Byłbym wdzięczny za pomoc w tej sprawie.