我正在开设一个我暂时托管的网站here。
你会注意到我在每页开头都会得到的神秘字母'a'。我已经浏览了所有的php文件(控制器,视图,模型),无法找到这封信的来源。另一个好奇心是,当使用Firebug进行检查时,所有头部内容都没有驻留在头部标签中。它出现在body标签中,但它仍能正常运行。这两个问题有关系吗?
我在搜索互联网时发现的唯一一件事就是某些文件可能已保存为ANSI而不是UTF-8。我已经尝试使用我的编辑器将所有我的php文件保存为UTF-8,但这是一个非常缓慢的过程。任何帮助调试这种情况将不胜感激。
编辑 - 感谢您的回复,@ erman-belegu。它似乎不在任何控制器中。例如,我已经设置了404重定向,具有自己的控制器和视图。视图如下所示:
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="No Page">
</head>
<body>
<h1>No page dude.</h1>
</body>
</html>
但是当用萤火虫检查时,它看起来像这样:
<html>
<head></head>
<body>
a
<meta content="No Page" name="description">
<h1>No page dude.</h1>
</body>
</html>
我使用UTFCast对所有内容进行了编码,但仍遇到同样的问题。欢迎任何帮助。
答案 0 :(得分:0)
在开始时检查您的控制器或在某处打印任何打印件。检查这些页面上的所有代码,因为您打印了这些&#34; a&#34;。
也可以使用没有BOM的UTF-8。但是,我认为你不小心打印它,并且不认为这种情况会因任何其他原因而发生。
答案 1 :(得分:0)
你看到身体标签内的头部,因为神秘的“a”是你输出的第一个字符。它由浏览器的渲染引擎或firebug放在body标签内。
如果你发现你的“a”的原因 - 几乎可以肯定PHP标签之外的某些内容 - 头部将在firebug中恢复正常。
搜索“a”很棘手..我不确定你的代码库有多大,但我会说在开始输出之前就退出进程。你应该只看到“a”。然后逐步移动出口,直到你的“a”消失,你就会找到它。