Нужно ли им обоим, только установите кодировку «Блокнот +» или сделайте это только в метатеге?Разница между meta charset = "utf-8" и кодировкой Notepad ++ utf-8?
ответ
Если вы сохранили как «UTF-8» (а не как «UTF-8 без спецификации») в Notepad ++, то тег meta
не нужен, поскольку браузеры и поисковые системы выведут кодировку из спецификации. Это то, что на самом деле происходит, и оно формально определено в разделе 8.2.2.1 Determining the character encoding в HTML5.
Написание тега meta
не изменяет фактическую кодировку. Если он присутствует, он должен соответствовать кодировке, конечно.
Метатеги сообщают браузеру, что кодировка файла была сохранена, поэтому она должна соответствовать кодировке, которую вы укажете в блокноте ++, чтобы сохранить ее. Если вы хотите сохранить ее в UTF-8, которая использует переменное число байт на символ и иметь метатег, обозначающий ISO-8859-1 (Latin-1), тогда браузер будет интерпретировать каждый отдельный байт в качестве символа.
Например, если вы сохраняете знак процента в кодированном документе UTF-8, то он будет использовать два байта: C2A2. Однако, если вы интерпретируете эти байты как Latin-1, вы получите два символа. Как ни странно, второй из них является символом цента.
Метатег сообщает веб-браузеру, какую кодировку открыть, а не блокнот. Вам нужно установить его в блокнот, чтобы убедиться, что он редактирует файлы в формате UTF-8. Так что ответ есть и тот, и другой.