meta не хочет ставить кодировку

  • Автор темы Автор темы proWoke
  • Дата начала Дата начала

proWoke

Новичок
Здравствуйте. По какой причине строчка:
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Не устанавливает кодировку сайта? Т.е. некоторые браузеры всё равно отображают в win1251. А вот если сделаю так:

PHP:
<?php 
	header('Content-Type: text/html; charset=utf-8'); 
?>
То всё хорошо и работает. Думал, что они одно и тоже делают. Эти строчки.
 
Сохранять надо тоже в верной кодировке.
 
Так какая разница между этими строчками? Ну в Netbeans стоит UTF-8 без BOM. Вроде всё то.
 
Первое - мета тэг, второе заголовок, приходящий от веб сервера. Как ты определил, что браузер кажет тебе 1251? Где вообще код документа?
 
Видимо потому, что когда сам не отправляешь заголовок header, он автоматически отправляется с указанием windows-1251
 
Здравствуйте. По какой причине строчка Не устанавливает кодировку сайта?
Потому что кодировку по стандарту устанавливает НТТР заголовок.
А первая "строчка" - какое-то фуфло самопальное.
 
Потому что кодировку по стандарту устанавливает НТТР заголовок.
А первая "строчка" - какое-то фуфло самопальное.
Мы это уже обсуждали. Заголовок сообщает, в какой кодировке следует далее ответ сервера. Мета-тег указывает, в какой кодировке html-документ. Так, если страницу сохранить, кодировка будет браться из мета-тега, т.к. заголовков больше никаких не будет естественно. Это разные вещи, вот и все.
 
А как ещё смотреть кодировку, которой браузер использует для моей страницы?
 
proWoke, скажи, пожалуйста, как ты сменишь формат файла с JPEG на PNG, если у тебя есть только проводник (файловый менеджер)?
 
Meta http-equiv - это такой способ указать "там должен был быть http-заголовок такой-то" в условиях, когда получение http-заголовков невозможно, т.е. при получении документа посредством отличного от http/https-протокола (например, file://). Большинство браузеров также учитывают информацию из мета-тегов при отсутствии соответствующих заголовков. То есть, реальный HTTP-заголовок имеет приоритет.

Кстати, для кодировки давным-давно есть отдельный мета-тег - <meta charset="кодировка">. Формально это html5, но фактически давно поддерживается всеми распространенными браузерами.
 
Сверху