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

proWoke

Новичок
Здравствуйте. По какой причине строчка:
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Не устанавливает кодировку сайта? Т.е. некоторые браузеры всё равно отображают в win1251. А вот если сделаю так:

PHP:
<?php 
	header('Content-Type: text/html; charset=utf-8'); 
?>
То всё хорошо и работает. Думал, что они одно и тоже делают. Эти строчки.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Сохранять надо тоже в верной кодировке.
 

proWoke

Новичок
Так какая разница между этими строчками? Ну в Netbeans стоит UTF-8 без BOM. Вроде всё то.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Первое - мета тэг, второе заголовок, приходящий от веб сервера. Как ты определил, что браузер кажет тебе 1251? Где вообще код документа?
 

Beavis

Banned
Видимо потому, что когда сам не отправляешь заголовок header, он автоматически отправляется с указанием windows-1251
 

Фанат

oncle terrible
Команда форума
Здравствуйте. По какой причине строчка Не устанавливает кодировку сайта?
Потому что кодировку по стандарту устанавливает НТТР заголовок.
А первая "строчка" - какое-то фуфло самопальное.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Потому что кодировку по стандарту устанавливает НТТР заголовок.
А первая "строчка" - какое-то фуфло самопальное.
Мы это уже обсуждали. Заголовок сообщает, в какой кодировке следует далее ответ сервера. Мета-тег указывает, в какой кодировке html-документ. Так, если страницу сохранить, кодировка будет браться из мета-тега, т.к. заголовков больше никаких не будет естественно. Это разные вещи, вот и все.
 

proWoke

Новичок
А как ещё смотреть кодировку, которой браузер использует для моей страницы?
 

Вурдалак

Продвинутый новичок
proWoke, скажи, пожалуйста, как ты сменишь формат файла с JPEG на PNG, если у тебя есть только проводник (файловый менеджер)?
 

fixxxer

К.О.
Партнер клуба
Meta http-equiv - это такой способ указать "там должен был быть http-заголовок такой-то" в условиях, когда получение http-заголовков невозможно, т.е. при получении документа посредством отличного от http/https-протокола (например, file://). Большинство браузеров также учитывают информацию из мета-тегов при отсутствии соответствующих заголовков. То есть, реальный HTTP-заголовок имеет приоритет.

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