Добавить кодировку для вывода gridview в word

Используя следующий код, я вывожу GridView в Microsoft Word (через HTML)

Response.Clear()
    Response.Buffer = True
    Response.AddHeader("content-disposition", "attachment;filename=" & CountryName & ".doc")
    Response.Charset = ""
    Response.ContentType = "application/vnd.ms-word "
    Dim sw As StringWriter = New StringWriter()
    Dim hw As HtmlTextWriter = New HtmlTextWriter(sw)
    gridview1.AllowPaging = False
    gridview1.DataBind()
    gridview1.RenderControl(hw)
    Response.Output.Write(sw.ToString())
    Response.Flush()
    Response.[End]()

Но поскольку он содержит такие символы, как: É, он меняет его на É

Это проблема с кодировкой? Если да, как мне изменить кодировку, чтобы она поддерживала эти символы?

@AndrewMorton Да, извините, я случайно оставил его, пока пытался понять это! Спасибо за внимание

p.developer 31.10.2018 12:18

Если вы откроете получившийся файл в текстовом редакторе, который показывает кодировку (я использую EditPad), выглядит ли файл правильно и сообщает ли он, какую кодировку он использует? В противном случае, если вы откроете файл в шестнадцатеричном редакторе, присутствует ли метка порядка байтов?

Andrew Morton 31.10.2018 12:39

Единственное, что он предлагает, это «<meta http-Equiv = Content-Type content =» text / html; charset = windows-1252 ">" но я не думаю, что это правильно?

p.developer 31.10.2018 13:04

Вы правы, вы этого не хотите. Теперь вам нужно узнать, где он добавляется. Я подозреваю, что вы используете веб-формы и что к тому времени, когда он дойдет до кода, который вы показали, он уже вывел некоторые данные в ответ, и уже слишком поздно отменить его. Самый простой способ сохранить его в чистоте - использовать обработчик ashx для обслуживания файла вместо страницы aspx. Создание обработчиков HTTP должен направить вас на правильный путь.

Andrew Morton 31.10.2018 13:59
1
4
29
0

Другие вопросы по теме