Почему внешний JavaScript не использует UTF-8 по умолчанию при ссылке на документ HTML5 - PullRequest
0 голосов
/ 28 января 2019

Это сбивает с толку меня, и я пытаюсь понять причину, почему.По какой-то причине, когда JavaScript встроен в файл HTML5, он использует UTF-8.Однако, если я ссылаюсь на внешний HTML5, он больше не использует UTF-8.Вот что я обнаружил:

У меня есть файл index.html, который использует <!DOCTYPE html>.По умолчанию, поскольку это HTML 5, по умолчанию используется UTF-8.

  1. РАБОТАЕТ: Если в моем внутреннем коде Javascript есть символы Юникода, тогда мои символы Юникода отображаются нормально.
  2. РАБОТАЕТ: Если у меня есть специальные символы Юникода в документе index.html, и я ссылаюсь на внешний файл JavaScript, также содержащий символы Юникода, символы Юникода отображаются нормально.
  3. НЕ РАБОТАЕТ: Если у меня нет специальногосимволы Unicode в документе index.html и ссылка на внешний файл JavaScript, содержащий символы Unicode, символы Unicode не отображаются должным образом.Вместо этого они появляются как некоторые другие загадочные символы.

Итак, почему # 2 работает выше, а не # 3?Я могу заставить работать # 3, добавив <meta charset="utf-8"/> в начало файла index.html.Тем не менее, я не совсем понимаю, зачем мне эта строка, если предполагается, что она должна по умолчанию использовать UTF-8

Если причина в том, что UTF-8 по умолчанию применяется только к этому файлу, а не к внешним файлам, то почему он работает для # 2?

PS.Я попытался создать эти файлы как в TextEdit, так и в Xcode (в MacOS).В Xcode, по крайней мере, кодировка символов по умолчанию действительно установлена ​​в UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...