Сайт ASP.NET перемещается в результаты IIS7 в символах мусора в выводе страницы

В любом языке .NET предпочтительным является Environment.NewLine.

5
задан frankadelic 28 August 2009 в 23:40
поделиться

8 ответов

Попробуйте установить параметр кодировки.

<% Page ContentType="text/html; charset=utf-8"%>
0
ответ дан 14 December 2019 в 19:23
поделиться

Это немного укол, но попробуйте установить в IIS режим конвейера «классический».

0
ответ дан 14 December 2019 в 19:23
поделиться

Вероятно, вы отправляете кодировку, отличную от кодировки файлов .inc .

Проверьте кодировку вашего .aspx ] и .inc и проверьте параметр charset заголовка content-type , отправляемого в браузер.

EDIT : Поскольку сервер отправляет UTF-8, вам следует преобразовать ваши файлы .inc в UTF-8.

Для этого откройте файл в Visual Studio, нажмите «Файл», «Дополнительные параметры сохранения» и выберите Unicode (UTF-8 без подписи) - кодовая страница 65001 . (В конце списка)

0
ответ дан 14 December 2019 в 19:23
поделиться

http://forums.asp.net/p/329153/330330.aspx contains a discussion of a similar issue, I wonder if it's the same problem you're seeing. Here's an excerpt from rox.scott's answer:

if you are transfering execution of the page after Response.Type, etc., is set then the resulting Response will have the Response.Type and encoding set by the initial page -- which might not be compatible with characters on the second page. Решение: убедитесь, что вы правильно указываете тип ответа и кодировку на ОБЕИХ страницах.

Хотите попробовать это и посмотреть, работает ли это?

Если это не сработает, http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx содержит интересное обсуждение различных параметров конфигурации, которые вы можете попытаться заставить согласованные кодировки по всему вашему сайту. Вы можете попробовать некоторые из них. Кроме того, эта статья MSDN не использует директиву ContentType, а вместо этого рекомендует следующее:

<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %> 

Не уверен, приведет ли это к результатам, эквивалентным настройке ContentType, но это достаточно просто попробовать.

1
ответ дан 14 December 2019 в 19:23
поделиться

Также вы можете проверить элемент глобализации в web.config
Он должен находиться в разделе system.web:

<globalization
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    fileEncoding="utf-8"
    responseHeaderEncoding="utf-8" 
/>
1
ответ дан 14 December 2019 в 19:23
поделиться

Pop in to Firefox and try manually switching the page encoding (maybe to Windows-1252 first), see if the gibberish clears up. If it's suddenly readable, then at least you will know it's an encoding problem.

I'd also suggest looking at the output in a hex editor to see what you're actually getting. That could also give you a clue where to look. Might also try turning off gzip encoding or page compression.

1
ответ дан 14 December 2019 в 19:23
поделиться

это не имеет никакого отношения к кодировке. Это IIS не знает, как обрабатывать сообщения об ошибках, если вы используете его в сочетании с виртуальным каталогом. Я думаю, что если вы запустите этот сайт в локальной отладке на машине, то сообщения об ошибках будут отображаться нормально. Попробуйте, если это так, то вы сможете понять, где на самом деле находится ошибка.

1
ответ дан 14 December 2019 в 19:23
поделиться

В средстве просмотра событий Windows вы, скорее всего, сможете найти настоящую причина ошибки. Таким образом вы сможете это исправить.

К сожалению, вам требуется RPD / физический доступ к серверу, и это только решает ошибку. Не причина ошибки не появляется.

-1
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

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