我有一个PHP源文件,其中添加了字符!我不知道他们来自哪里。我没有得到任何解析错误,但它导致文件执行中的奇怪行为。例如。标题位置功能有时不起作用!我很好奇这些符号是如何自动生成的?我正在使用UTF-8编码和放大器标志没有显示在Notepad ++或Windows Notepad中,而是显示在Netbeans IDE中。
EG。代码:
<?php
echo "no errors!";
header("Location: http://stackoverflow.com");
exit;
?>
这是什么?我该如何预防?
答案 0 :(得分:15)
您可能会将文件保存为带有BOM的UTF-8。您应该将它们保存为没有BOM的UTF-8。
答案 1 :(得分:7)
它被称为字节顺序标记,并不总是必须是“”。 http://en.wikipedia.org/wiki/Byte_order_mark
某些Windows应用程序默认添加BOM。在Notepad ++中,您可以使用“编码”菜单中的一些选项,例如在没有BOM的UTF中编码或在没有BOM的情况下转换为UTF。
答案 2 :(得分:1)
我相信无论你是否使用BOM保存UTF-8,它仍然会发生。我不认为它会有所作为。
试一试,看看是否有帮助。
答案 3 :(得分:0)
使用vi或vim之类的工具,可以使用以下两个命令修改和保存文件,而无需使用BOM:
:setlocal nobomb
然后
:w