ASP.NET экспорт Excel кодирование проблемы

SQLite API назвали функцию что-то как sqlite_prepare, который берет один оператор и готовит его к выполнению, по существу анализируя SQL и храня его в памяти. Это означает, что SQL только должен быть отправлен однажды на механизм базы данных даже при том, что оператор много раз выполняется.

Так или иначе, оператор является единственным SQL-запросом, это - просто правило. API SQL AIR не позволяет отправлять необработанный SQL в SQLite, только отдельные операторы, и причина, вероятно, что AIR использует эти sqlite_prepare функция, когда это говорит с SQLite.

39
задан PaN1C_Showt1Me 5 November 2009 в 10:31
поделиться

3 ответа

Что ж, я обнаружил, что проблема может быть в заголовке файла excel, что он не содержит байтовой последовательности спецификации (в начале файла, представляющего используемая кодировка).

Итак, я сделал это так, и он работает для меня:

Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=Test.xls");   
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);

FormView1.RenderControl(hw);

Response.Write(sw.ToString());
Response.End(); 
125
ответ дан 27 November 2019 в 02:02
поделиться

Вы пытались установить кодировку в метатеге в HTML?

<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

Excel не увидит заголовки ответов, поэтому не будет знать, что Response.Encoding есть. Мета-тег позволяет это выяснить.

11
ответ дан 27 November 2019 в 02:02
поделиться

Как и другие, это происходит, потому что ваша разметка недействительна. Немного глубже проблема в том, что когда синтаксический анализатор получил < a > < div > в своем входе, это может означать две вещи:

  1. Вы забыли закрыть якорь тэга, и в этом случае это должно стать < a > < div >... в DOM или
  2. Якорь оборачивает div, в этом случае DOM должен быть < a > < div >
.

Правильное решение может быть принято только тогда, когда известно больше (потенциально гораздо больше) символов; синтаксический анализ, как вы могли заметить, происходит постепенно - то есть вы можете увидеть части страницы, прежде чем она будет полностью загружена.

К сожалению, HTML-синтаксический анализатор Mozilla (начиная с Firefox 3.6 и более ранних версий) не является детерминированным в этом случае - результирующий DOM зависит от частей, на которые разделен HTML, в то же время проходя по сети.

Существует ошибка Mozilla о проблеме, которая выглядит очень похожей на вашу.

Мне жаль вас, и я не знаю, как реализовать (также нет желания пытаться реализовать;) решение вашей первоначальной проблемы, но, возможно, взлом, связанный с установкой iniveHTML (чтобы избежать недетерминизма синтаксического анализатора) в порядке?

BTW, было бы интересно проверить, как алгоритм синтаксического анализа HTML5 говорит, что ваша разметка должна быть обработана, так как это то, что в конечном итоге будет реализовано в браузерах.

-121--4213409-

Описание одного веб-приложения и одного JVM приведено в следующих таблицах.

Несколько веб-приложений на одном сервере (один JVM):

Web App A - Server/JVM 1 - Context 1 
Web App B - Server/JVM 1 - Context 2 
Web App C - Server/JVM 1 - Context 3

Одно веб-приложение на нескольких серверах (несколько JVM):

Web App A - Server/JVM 1 - Context 1 
Web App B - Server/JVM 1 - Context 2 
Web App C - Server/JVM 1 - Context 3 
Web App C - Server/JVM 2 - Context 4
-121--3842576-

добавить Ответ. BinaryWrite (Система. Текст. Кодирование. Unicode. GetPreamble ());

2
ответ дан 27 November 2019 в 02:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: