IIS 6 - Классический ASP - установите тип содержимого заголовка ответа * .asp на «text / html; charset = UTF-8» - PullRequest
7 голосов
/ 29 февраля 2012

Как мне установить *.asp файлы (классический ASP) на веб-сайте под IIS, чтобы тип содержимого заголовка ответа был равен text/html;charset=UTF-8? Прямо сейчас файлы обслуживаются как Content-Type=text/html.

Альтернативный подход - добавить <% Response.Charset = "UTF-8" %> к каждой странице, но мне интересно, есть ли способ сделать это глобально.

Спасибо! -К

Ответы [ 2 ]

5 голосов
/ 29 февраля 2012

РЕДАКТИРОВАТЬ 1: Я проверил это с помощью инструментов разработчика IE9 (вкладка сеть),

<%
response.ContentType = "text/html;charset=UTF-8"
%>

Результаты в заголовке HTML для Content-Type:

text/html;charset=UTF-8

Принимая во внимание, что установка его на уровне MIME на IIS7 не дает - я обновлю свой ответ, когда выясню, почему.

РЕДАКТИРОВАТЬ 2: Я не могу использовать глобальный подход MIME для работы на моем испытательном стенде - извините! Есть подсказки этого онлайн: http://forums.iis.net/p/1166956/1941076.aspx#1941076

Полагаю, вам просто нужно вставить response.ContentType = "text/html;charset=UTF-8" в ключ <!-- #include file="..\includes\common.asp" --> (или аналогичный).

3 голосов
/ 01 марта 2012

Нет средств для глобального указания CharSet для приложения.

На самом деле это нечто большее, чем просто сказать клиенту, что он получает UTF-8. Также необходимо убедиться, что объект ответа настроен на кодовую страницу 65001. По крайней мере, это можно установить глобально, используя значение метабазы ​​AspCodePage на уровне приложения (или непосредственно в функции ASP в диспетчере IIS7).

Однако я предпочитаю избегать зависимости от того, правильно ли настроен сервер. Каждая страница задает свою кодовую страницу (либо с директивой @CODEPAGE, либо с Response.Codepage) и свою CharSet.

У меня есть две причины для такого подхода. Одним из них является то, что в конечном итоге CharSet / Codepage выбирается во время создания и сохранения файла. Другая причина заключается в том, что при развертывании / копировании сайта нужно меньше помнить, чтобы настроить его лучше.

...