PHP输出的HTML代码似乎不正确,并且带有隐藏字符

PHP输出的HTML代码似乎不正确,并且带有隐藏字符,php,html,validation,Php,Html,Validation,我有一个php页面。代码是: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewport" content="width=device-width"> <?php include("some_file.php"); ?>

我有一个php页面。代码是:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta name="viewport" content="width=device-width">
    <?php include("some_file.php"); ?>
    <title>Calculadora dos Custos do Automóvel</title> 
  </head>
  <body>
    <p>aaa</p>
  </body>
</html>

计算机自动控制
aaa

正如你所看到的,没有什么是错误的

不过,Firefox的view source给出了红色错误,w3验证程序也给出了错误


我在这附近呆了两天,真奇怪。我想这与php可能输入到HTML代码中的一些奇怪字符有关,但我不确定。或者,考虑到代码包含葡萄牙语字符,可能是编码方式。

之前有一些东西

<title> 


删除标题标记之前的所有内容

尝试使用UTF-8编码保存文件

在标签前面有两个。删除它们(例如,删除第二个
之间的所有内容),所有内容都应该可以正常工作。

您的标签前面的空白肯定有问题。请用键盘上的空格替换空格,重新编写代码

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
            <meta name="viewport" content="width=device-width">
            <title>Calculadora dos Custos do Automóvel</title>      
    </head>
    <body>  
        <p>aaa</p>      
    </body>
</html>


计算机自动控制
aaa


正如其他人所说,当包含PHP文件时,BOM是一个问题,即使这些文件没有响应任何内容

PHP包括 在撰写本文时,如果您包括一些外部 使用PHP在页面中创建一个文件,并且该文件以BOM表开头,它可能 创建空行

这是因为在将BOM表包含到 页面,其行为类似于占据一行文本的字符

您应该确保包含的文件不以BOM表开头。

在:

检测BOM表
您可以使用

在线检测HTML页面内容中的BOM,我在这里看到您使用的是记事本+,我们已经确定问题是由于您在
标题
之前包含的php文件的BOM造成的

要解决此问题,请在记事本++中打开并从菜单中选择
编码
->
在不带BOM的UTF-8中编码
,然后保存文件。对probject中的所有文件(php文件)执行此操作

你不应该再在标题前面有那个特殊的字符了


还要确保启动
页面中还有其他内容吗?您的
前面的空白有点奇怪。如果在w3上验证时删除空白,则一切正常。如果我用键盘上的空格替换你的空格,一切都可以。所以在那里留点空间应该没问题。我真的不知道那个空白是怎么回事。。。尝试删除标题前的空格,然后再次添加。或者复制并粘贴您在
标记之前使用的空白。可能是同一个问题:@DanielDudas,非常感谢,有没有办法在Notepad++中检测此类BOM表,或者您认为它是由php的某些问题造成的?我怎样才能发现这些隐藏的字符?我在Notepad++@Blinkydamo中使用UTF-8,我的代码只运行一些php函数,这些函数不响应任何内容<代码>
看起来你不需要:非常感谢。有并没有办法在Notepad++中检测这样的BOM或隐藏字符,或者你们认为它是由php的一些问题造成的?我在记事本++中使用UTF-8,进入
视图->显示符号->显示所有字符
,什么也看不到。我的php函数只是运行了一些代码,这些代码没有任何回音。目前我没有任何想法,但您可以随时使用在线验证工具重新检查代码,正如您在其他人建议您的内容中所看到的那样。现在,如果我的答案对你有用,请记为正确。非常感谢你,吉里。有并没有办法在Notepad++中检测这样的BOM或隐藏字符,或者你们认为它是由php的一些问题造成的?我在记事本++中使用UTF-8,进入
视图->显示符号->显示所有字符
,什么也看不到。我的php函数只是运行了一些代码,这些代码不回显任何内容。@Aónio:请参阅记事本++编码>UTF-8中的编码非编码>UTF-8-BOM中的编码