PHP打印在打印开始时将虚假字符放入网页中()

时间:2010-08-16 20:52:55

标签: php printing character

当我在我的页面中包含一些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

3 个答案:

答案 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