Назад | Перейти на главную страницу

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

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

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

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

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