У setcookie() есть проблема с заголовком - без пробела, текста или чего-либо еще до тега <? php
Следующий код не имеет пробелов или текста перед открывающим тегом php. При применении я получаю предупреждение о том, что заголовок уже был вызван "в строке 3" (setcookie). Я в недоумении почему.
<?php
$value = 'something from somewhere';
setcookie("TestCookie", $value);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
</body>
</html>
Спасибо за любую помощь.
1 ответ
Если вы сохранили файл как UTF-8 с BOM (Byte Order Mark), в начале файла выводятся три дополнительных символа.
Эти символы сообщают (тупым) приложениям, что это файл UTF-8.
Использование спецификации не является обязательным для большинства приложений.
http://en.wikipedia.org/wiki/Byte_order_mark
Если вы сохраните файл снова только без спецификации, все будет в порядке.
Не уверен, что это то, что происходит, не видя фактического файла, но оно того стоит.
Некоторые редакторы показывают, что это за файл. Я сам использую EditPlus в качестве редактора (Windows), и он показывает кодировку файла.