当我在我的页面中包含一些PHP来填充HTML的内容时,所有内容都以字符开头。它可能是愚蠢的东西,但它让我疯了。我是PHP的新手,所以戴上手套。
这是我的包含声明<?php $PSName="Solar Numbers"; $whereto="bot"; include("../php/menu.inc.php");?>
这是正在进行破坏的代码
print <<<END
<a href="$pgurl">
<div id="layer1" style="background: url('$picurl');
position: absolute; width: 150px; height: 41px; z-index: 1; color: #FFFFFF; font: caption;
left: 14px; top: $topstr;
font-family: Arial, Helvetica, sans-serif; font-weight: bolder; text-decoration: none;
text-transform: capitalize; text-align: center; vertical-align: middle; font-size: xx-small;">
<br>
<font size="+0">$pgnm</font>
</div>
</a>
END;
它在程序的循环中输出了几次,它只是第一次我得到了虚假的字符。
请帮助
SteveK
答案 0 :(得分:1)
将文件保存为UTF-8,不带签名(BOM)。
这些字符是UCS-2,UCS-4,UTF-16和UTF-32所需的Unicode代码点U + FEFF,用于指示字节顺序(小端或大端) - 代码点本身是一个零宽度的不间断空间。这意味着只要它支持Unicode输出,任何不剥离它的应用程序都不会遇到问题。但是,如果您的PHP文件以它开头(在UTF-8中),PHP就不够聪明,无法对它做任何事情,因为就PHP而言,它是页面内容,它将被打印出来。这也意味着如果PHP已经发送了部分页面输出,则无法进行重定向或设置cookie或启动会话。
答案 1 :(得分:0)
字符看起来像UTF-8 BOM
字符。
答案 2 :(得分:0)
如果使用Dreamweaver,则“源文件创建”的预选选项为:
use utf8 BOM [x]
取消选择它并创建一个没有BOM(字节顺序标记)的文件(menu.inc.php)。
此致
RBO