У меня есть следующий код:
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("ąęćżźńółĄŚŻŹĆŃŁÓĘ");
}
Когда я пытаюсь открыть сгенерированный файл csv, я получаю следующее поведение:
- В Notepad2 - все в порядке.
- В окне мастера Word-преобразования открывается запрос на преобразование текста. Он предлагает UTF-8, который как-то нормально.
- В Excel - я получаю настоящий беспорядок. Ни один из этих польских символов не отображается.
Я хотел написать эти специальные символы кодировки перед моей строкой, т.е.
context.Response.Write((char)0xef);
context.Response.Write((char)0xbb);
context.Response.Write((char)0xbf);
но это не принесет пользы. Поток ответа обрабатывает это как обычные данные и преобразует его в нечто иное.
Буду признателен за помощь в этом.