I have following piece of 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("ąęćżźńółĄŚŻŹĆŃŁÓĘ");
}

When I try to open generated csv file, I get following behavior:

  • In Notepad2 - everything is fine.
  • In Word - conversion wizard opens and asks to convert the text. It suggest UTF-8, which is somehow ok.
  • In Excel - I get real mess. None of those Polish characters can be displayed.

I wanted to write those special encoding-information characters in front of my string, i.e.

context.Response.Write((char)0xef);
context.Response.Write((char)0xbb);
context.Response.Write((char)0xbf);

but that won't do any good. The response stream is treating that as normal data and converts it to something different.

I'd appreciate help on this one.

Edit
Report