Может ли сохранение в Unicode UTF 8, включая элементы спецификации, нарушить расположение моего заголовка на моем сайте? - PullRequest
1 голос
/ 17 мая 2011

Я использую заголовок Location на моем сайте, и проблем не было. Затем я добавил язык (французский) и должен был сохранять свои файлы в Unicode UTF 8, включая элементы спецификации ...

Теперь расположение моего заголовка больше не работает ... странно то, что сообщение об ошибке не отображается ...

Поэтому я обновил свою функцию для отображения сообщения об ошибке, сделанного самостоятельно ... см. Ниже

function redirect_to( $location = 'index.php'){
// code reached, error_reporting test

#flush();

if (headers_sent()) { 
    echo 'Debug: would send location header ', $location, $unsetVariableTriggeringWarning;
    die('cannot send location header (anymore)');
}
else {
  header('Location: '.$_SESSION['base_url'].$location);
  die();
}   

}

И теперь я получаю сообщение об ошибке:

Debug: would send location header access.php?redirecto=accountcannot send location header (anymore)

Но ничего еще не распечатано, ни HTML, ни PHP, ни ничего. Так что мое лучшее предположение было, когда я перешел на Unicode UTF8, должно быть что-то произошло. Так что я переключился обратно, но все равно ошибка сохраняется ...

Любая помощь, высоко ценится.

Ответы [ 3 ]

1 голос
/ 17 мая 2011

Механизм PHP не использует спецификацию, которая была бы до <?php в сценарии, поэтому она будет отправлена ​​как обычно. Снимите спецификацию.

1 голос
/ 17 мая 2011

Вы можете узнать, куда были отправлены заголовки:

if (headers_sent($file, $line)) { 
   echo "Headers were sent at file=$file, line=$line";
}
0 голосов
/ 17 мая 2011

Убедитесь, что вы случайно не ввели пробелы перед первым открывающим тегом <?php.Пробельные символы также считаются выходными данными, что может привести к невозможности отправки заголовков.

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