Принудительно отображать файлы.js, сохраненные в кодировке ANSI, в UTF-8 на IIS 7.5.

Я перевожу веб-систему, которая теперь работает на IIS 6 для Windows Server 2003, на IIS 7.5 на сервере Windows 2008. Эта система генерирует файлы JavaScript с акцентированными символами в ANSI (португальский - Бразилия). Эти javascripts показывает, например, предупреждающие сообщения. В IIS 6 у меня нет проблем с этим, но теперь, используя IIS 7.5, если эти файлы не в UTF-8, акцентированные символы не отображаются правильно. Есть ли у нас способ заставить эти файлы, даже в ANSI, обрабатываться IIS 7.5 как UTF-8? Спасибо! Приветствия Xcarpa

2 ответа

Я думаю, что лучшим решением будет не заставить IIS доставлять файлы в формате UTF-8, а заставить IIS сообщить миру, что они закодированы в ANSI. В противном случае для преобразования файлов, закодированных в ANSI, в формат UTF-8 потребуется фильтр ISAPI, который может стоить много циклов ЦП, в зависимости от количества файлов JavaScript и частоты их обращения.

Я рекомендую настроить конфигурацию типов MIME в IIS, чтобы принудительно доставлять файлы JavaScript в формате ANSI. Для этого используйте диспетчер IIS, перейдите на уровень сервера, нажмите кнопку "Типы MIME", найдите расширение ".js" и добавьте "; charset=Windows-1252" (без кавычек) в конец определения типа MIME., Опять же, не заменяйте определение, просто добавьте текст между кавычками, и вы должны решить проблему.

Как указал Хосе, я не позволю IIS конвертировать эти ресурсы на лету. Вместо этого вы можете преобразовать файлы JavaScript в UTF-8 с помощью текстового редактора или инструмента командной строки, например, recode.

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