Я должен признать, что никогда не приходилось смешивать кодировки, но теоретически вы должны иметь возможность указать атрибут charset
( link ) в теге script
- но убедитесь, что выне конфликтует с ним при обслуживании внешнего файла.По этой ссылке:
Атрибут charset
дает кодировку символов внешнего ресурса сценария ... его значение должно быть допустимым именем кодировки символов, должно быть ASCII-регистронезависимым совпадением дляпредпочтительное имя MIME для этой кодировки и должно соответствовать кодировке, указанной в параметре charset
метаданных Content-Type внешнего файла, если таковые имеются.
Так что это скажет браузеру, какинтерпретировать данные сценария, если ваш сервер предоставляет тот же charset
(или не предоставляет charset
) в заголовке Content-Type
при обслуживании файла сценария.
Как только браузер читаетсценарий с правильной кодировкой, у вас должно быть все в порядке, потому что к тому времени, когда JavaScript работает со строками, они представляют собой UTF-16 (согласно разделу 8.4 спецификации 5-го издания ).