繁体   English   中英

在PHP实现后,标题被取代(UTF-8 BOM)

[英]Header displaced after PHP implementation (UTF-8 BOM)

在我加入他们之前,我的公司有一个像样的网站,从那时起外包和不受影响。 加入后,我在空闲时间里一直在慢慢改进它。

本周我重写了所有页面上相同的标题/左栏/页脚,这样我就可以使用PHP包含它们,并且当我想要改变某些东西时(包括其他好处),避免逐个修复它们。

我不太熟悉.htaccess和PHP,但我真正改变的是:

  1. 允许PHP通过添加.htaccess来处理.html文件:

AddType application/x-httpd-php5 .html .htm

  1. 我变了:

<?xml version="1.0" encoding="UTF-8"?>

至:

<?php echo "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n";?>

避免<?xml标记抛出PHP短标记错误

  1. 将三个常用元素,标题,左列和页脚复制并粘贴到单独的HTML文件中,并使用以下方法将它们包含在内:

<?php include '_header.html';?>

  1. 改变了左上角的文字,但这不应该影响任何东西。

在加载两个页面(PHP include和plain html)后查看源代码,它们看起来完全相同。 我没有更改任何CSS,所以他们使用相同的代码。

但由于某种原因,切换到PHP包含版本会在页面顶部添加一个空行。

这是当前(普通XHTML)版本: http//www.akidc.co.jp/index.html新文件供参考:((删除过时的链接))(我无法更改.htaccess直到我一次上传所有新页面或<?xml标签会将它们全部错误,因此它会以.php的形式出现。)

我包含的头文件位于_header.html

请帮我解决差距^ _ ^

在源上运行差异,你会立即注意到这里发生了什么。

在PHP版本中,在<div id="header" ...>之前有一个U + FEFF 这被浏览器解释为内容,因此它会尝试显示此内容。

要解决此问题,请确保所有源代码都以UTF-8格式存储。

顺便说一句,这是差异:

在此输入图像描述

看到<feff>

现在,查看页面的元素。 这就是你以前的所作所为:

在此输入图像描述

这就是你在PHP版本中得到的:

在此输入图像描述

注意我突出显示的附加“”块?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM