Что значить в начале исходного файла?

У меня есть исходный PHP файл, в который автоматически добавляются символы ï "¿! Я не знаю, откуда они пришли. Я не получаю ошибок разбора, но это приводит к странному поведению при выполнении файла. Например. функция определения местоположения иногда не работает! Мне любопытно, как эти символы генерируются автоматически? Я использую кодировку UTF-8, и знак ï" ¿не отображается в Notepad ++ или Windows Notepad, но с NetBeans IDE.

Eg. Код:

<?php
echo "no errors!";
header("Location: http://stackoverflow.com");
exit;
?>

Что это? Как я могу предотвратить это?

Ответы

Ответ 1

Вы можете сохранить файлы как UTF-8 с помощью спецификации. Вы должны сохранить их как UTF-8 без спецификации.

Ответ 2

Он называется байтовой меткой заказа и не всегда должен быть "ï" ¿ ". http://en.wikipedia.org/wiki/Byte_order_mark

В некоторых приложениях Windows по умолчанию добавляется спецификация. В Notepad ++ вы можете использовать некоторые опции в меню кодировки, например, в кодировке UTF без спецификации или преобразовать в UTF без спецификации.

Ответ 3

Я считаю, что если вы сохраните его UTF-8 с или без спецификации, это все равно произойдет. Я не думаю, что это имеет значение.

Попробуйте, посмотрите, помогает ли она.

Ответ 4

С помощью такого инструмента, как vi или vim, вы можете изменить и сохранить файл без спецификации с помощью двух следующих команд:

:setlocal nobomb

а затем

:w

Ответ 5

Если вы используете firefox, символы будут отображаться в вашей папке. Если вы перейдете на Chrome, символы не появятся.