我的网站存在问题。在每个页面上,每页的顶部都有一个@
,我没有写。
它似乎来自我的配置文件。实际上,如果我回复“测试”,我会以require_once('config.php')
开始每一页。在require_once
之前,我得到:
test @
但是如果我在require_once之后echo 'test'
,我会得到:
@ test
我使用Sublime Text
(听说可能是编码错误,尝试使用Notepad++
重新保存,没有任何更改)
不知道它可能是什么。
答案 0 :(得分:1)
我已经发布过 - 并且已经多次处理过字符编码问题。通过测试@
中的config.php
,您了解echo 'test';
来自require_once
文件的行为不是编码问题。
如果这是编码问题,那么它将是页面顶部或页面底部的垃圾文本/字符,但无法以您描述的方式从这些位置移动。
在config.php
文件的某处,只有一个@
浮动在那里:
@
超出了PHP开放的范围。结束标记(<?php
/ ?>
)。echo
@
。config.php
文件的复杂程度,它可能来自另一个通过require_once
或include
加载的文件config.php
档案。现在最简单的事情就是打开config.php
文件&amp;搜索@
字符。看看那个出现的每个实例&amp;它所在线的背景。如果你很幸运,你会发现看似奇怪的东西。
过去,现在最好的调试策略是在echo 'test';
文件本身的其他地方执行相同的config.php
。
config.php
文件顶部的第一个位置&amp;加载页面。config.php
文件的底部。加载页面。config.php
的中间并将echo 'test';
放在那里。然后根据你看到的内容,继续放置在页面中间的上方或下方。是的,这可能很乏味。但这是处理这种情况的最好方法。