ASP classic: строковое кодирование - PullRequest
1 голос
/ 20 июля 2011

Вчера я столкнулся с действительно странной ошибкой, когда я произвел рефакторинг стартовой страницы старого классического веб-приложения ASP. Но прежде чем объяснить проблему, я должен объяснить, как устроен веб-сайт.

Сеть состоит из страниц ASP, сохраненных как окна ANSI 1252. Я полагаю, что отправленный в браузер вывод кодируется как кодовая страница 1252, поскольку ни в заголовке ответа, ни в теге HTML HEAD не объявляется никакой кодировки.

Проблема:

Когда я реорганизовал страницу входа (из-за проблем с безопасностью), я сделал следующее:

  • преобразовал ASP-файл в utf-8
  • Добавлено <%@ Language="VBScript" @CODEPAGE=65001 %> в начало страницы
  • Добавлено <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> к HTML HEAD

Страница входа отображается красиво. Но! На остальной части веб-сайта теперь возникли проблемы с кодировкой (при отображении в веб-браузере) на всех страницах (кроме, конечно, страницы входа в систему).

Как это может быть? Я не изменял никакие другие страницы, и настройки кодирования, сделанные на странице входа, должны влиять только на эту единственную страницу.

Пожалуйста, просветите меня. Пожалуйста! : -)

1 Ответ

3 голосов
/ 20 июля 2011

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

...