【问题标题】:How to remove  from a PHP page [duplicate]如何从 PHP 页面中删除  [重复]
【发布时间】:2017-01-04 07:32:45
【问题描述】:

我正在开发一个小型网站,并在使用 PHP 的 include() 函数时包含标题。然而,就在从包含引入的任何代码之前,页面上有这个奇怪的。

这是发生它的页面的代码

<!DOCTYPE html>
<html>

<head>
    <title>Things and Stuff | Source Files</title>
    <!-- Style Sheets/Scripts/Misc Stuff -->
    <link rel="stylesheet" type="text/css" href="css/main.css">
    <link rel="stylesheet" type="text/css" href="css/gmod.css">
    <link rel="stylesheet" type="text/css" href="css/alerts.css">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script src="scripts/cycle.js"></script>
</head>

<body>

<?php include('./utilities/header.php'); ?>

<!-- rest of the page from here down... -->

使用解决方案编辑

感谢下面的帮助,我想通了。 为了解决这个问题,我在 Notepad++ 中打开了文件,将其设置为 PHP,然后在顶部的 Encoding 下选择了 ANSI(发现 = 为 UTF-8 w/o BOM),它就可以工作了!

【问题讨论】:

标签: php html


【解决方案1】:

您的头文件包含一个字节顺序标记头,对于理解它们但不打印它们的文本编辑器来说不是很明显。

另一方面,编译器/解析器需要完整的 ASCII,并且不理解 BOM 标记。

解决方案:使用十六进制编辑器或设置为 ASCII 或 UTF8 且没有 BOM 编码的文本编辑器删除头文件的前 3 个字节,这样就可以了。

下面是用 UTF8 编码的文件的屏幕截图,其中 BOM 突出显示了前 3 个字符(使用 frHed)

如果我删除前 3 个字节,它会起作用。 或者:使用 Notepad++ 打开并将编码更改为ASCII,保存,瞧。

【讨论】:

  • 字节顺序标记不是通常意味着每个字符都是多个字节,意味着文件中有很多空字节吗?
  • 那将是 UTF16 格式。在这种情况下,删除前 3 个字节将不起作用,但将编码更改为 ASCII 或 UTF8-noBOM 也可以。
  • 这成功了!非常感谢!我使用了使用 Notepad++ 更改底部的选项
【解决方案2】:

检查您的 PHP 文件编码。尝试使用不带繁荣的 UTF8,并确保您的 php 在文件顶部没有空格。

【讨论】:

    猜你喜欢
    • 2013-09-07
    • 2015-08-30
    • 2012-12-13
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多