Encoding 什么';s;是否在源文件的开头签名?

Encoding 什么';s;是否在源文件的开头签名?,encoding,utf-8,character-encoding,editor,symbols,Encoding,Utf 8,Character Encoding,Editor,Symbols,我有一个PHP源文件,其中自动添加了字符!我不知道他们是从哪里来的。我没有收到任何解析错误,但它会导致文件执行过程中出现奇怪的行为。例如,标题位置功能有时不起作用!我很好奇这些符号是如何自动生成的?我使用的是UTF-8编码&该符号不是在记事本++或Windows记事本中显示的,而是在Netbeans IDE中显示的 例如,代码: <?php echo "no errors!"; header("Location: http://stackoverflow.com"); exit; ?

我有一个PHP源文件,其中自动添加了字符!我不知道他们是从哪里来的。我没有收到任何解析错误,但它会导致文件执行过程中出现奇怪的行为。例如,标题位置功能有时不起作用!我很好奇这些符号是如何自动生成的?我使用的是UTF-8编码&该符号不是在记事本++或Windows记事本中显示的,而是在Netbeans IDE中显示的

例如,代码:

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

这是什么?如何防止它?

您可以使用BOM将文件保存为UTF-8。您应该将它们保存为不带BOM的UTF-8。

它被称为字节顺序标记,并且不一定总是“ï”


默认情况下,某些Windows应用程序会添加BOM表。在记事本++中,您可以使用编码菜单中的一些选项,如在不带BOM的UTF中编码或在不带BOM的情况下转换为UTF。

我相信,无论您将其保存为带BOM还是不带BOM的UTF-8,都会发生这种情况。我不认为这有什么区别


尝试一下,看看是否有帮助。

使用vi或vim等工具,您可以使用以下两个命令修改和保存不带BOM表的文件:

:setlocal nobomb
然后

:w

记事本++具有动态编码(更改编码)文件的功能