我正在尝试使用PHP包含或要求这样:
<div id="menu">
<?php
include("tmpl/links.php");
?>
</div>
它包括链接,但它也打印一些垃圾。它打印在菜单上方:

这对我来说并不意味着什么。如果我使用include或require,就会发生这种情况。这是links.php,为了更好的衡量标准:
<ul>
<li>
<a href="index.php">Home</a>
</li>
<li>
<a href="schedule.php">Schedule/Results</a>
</li>
<li>
<a href="roster.php">Roster</a>
</li>
<li>
<a href="coaches.php">Coaching Staff</a>
</li>
<li>
<a href="aboutus.php">About Us</a>
</li>
<li>
<a href="prospective.php">Prospective Players</a>
</li>
<li>
<a href="links.php">Links</a>
</li>
<li>
<a href="photos.php">Photos</a>
</li>
<li>
<a href="contactUs.php">Contact Us</a>
</li>
<li>
<a href="https://www.facebook.com">Facebook</a>
</li>
</ul>
任何人都可以帮我弄清楚如何消除垃圾()?
答案 0 :(得分:5)
这是UTF-16 BOM(字节顺序标记)。
解决方案:切勿使用UTF-16。
将文件另存为UTF-8。
答案 1 :(得分:5)
你发现了一些名为Byte Order Marker的东西 - 一些Windows程序喜欢添加这些字节(根据Unicode标准的建议),以帮助他们弄清楚如何在将来再次解析这些文件。
我建议使用与notepad.exe
不同的文字编辑器; vim
或类似的东西应该让你删除那些字节而不会有太多麻烦,只要你坚持不在你的文件中插入垃圾的编辑器,它们就不会回来。
答案 2 :(得分:2)
听起来可能是编码问题。确保您的文本采用UTF8编码(无BOM)。我喜欢用Notepad ++来做这件事。