Заголовок по-русски?

Новичок5
Дата: 12.06.2010 00:06:36
Hi All.

Пытаюсь формировать данные в формате Excel. Для начала (для эксперимента) создал файл в Excel, сохранил его как XML, и передаю имя вот в такую функцию:

  private void SendExcelFile(string FileName)
  {
    string Content = File.ReadAllText(FileName);
    Response.ClearContent();
    Response.ClearHeaders();
    Response.Expires = -1;
    Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName);
    Response.ContentType = "application/vnd.ms-excel";
    Response.Buffer = false;
    HttpContext.Current.Response.Write(Content);
    HttpContext.Current.Response.Flush();
    HttpContext.Current.Response.End();
  }

Оно вроде работает (т.е. теперь осталось не делать файл, а сделать то же самое в памяти).
Но если имя файла русское, то на клиенте в диалоге "Открыть, Сохранить, Отмена" показывается его имя козезябрами. Я его пробовал переводить и в "windows-1251" - не помогает. Я конечно обойдусь и английским именем, но хотелось бы понять, что не так.

Чего ему не хватает и как побороть?
Зритель с попкорном 5
Дата: 15.06.2010 12:16:40
Новичок5,

Я делаю так, может не самый оптимальный вариант, но меня устраивает:
if(Request.Browser.IsBrowser("IE"))
{
	FileName= HttpUtility.UrlPathEncode(FileName);
}
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", FileName));
Новичок5
Дата: 18.06.2010 07:29:17
Спасибо - помогло.
Причём работает такая конструкция не только в IE, но и в FF,и в Google Chrome. В остальных не пробовал.