• 欢迎来到主题派官网,主题源码,插件,模板下载。所有主题及插件资源不负责技术支持,售出不退!
酷奇酷奇  2023-04-16 17:59 主题派 隐藏边栏 |   抢沙发  4 
文章评分 0 次,平均分 0.0

最近在 Windows 下修改一个 WordPress 主题时,以 UTF-8 BOM 格式保存文件,后来导致网站页面在 IE 下出现无法居中显示等问题。下面是具体的排查和解决过程,留作日后参考。

网站页面在各版本的 IE 下都不能正常显示:页面主题内容不能居中,紧靠左侧,同时左右侧栏也显示不正常,总之就是主题的 css 并没有生效。

而另一方面,网站页面在 Firefox 和 Chrome 浏览器下均显示十分正常。

1. 经排查发现,无论 IE、Firefox 还是 Chrome 下,浏览器下看到生成的 html 中都已经加了 DOCTYPE 标识,但是很奇怪,前面多了一行空行,即看到的 html 源代码的前两行是:

2. 经过查相关资料,确定可能是 IE 下对 DOCTYPE 的识别要求很严格,而 Firefox 和 Chrome 却可以正常识别。问题在于为什么会多出这么一行空行?

3. 在 Linux 服务器端查看主题相关文件,发现有些文件的开头存在特殊字节(后来查相关资料确定是 UTF-8 的 BOM 标记):

4. 原因分析:对于 UTF-8 中的 BOM 字节,PHP 不会忽略,而是在读取、包含或者引用这些文件时,将 BOM 作为该文件开头正文的一部分,于是就有了<feff>这样的特殊字符。进一步,在 windows 下,遇到不识别的字符又按照换行处理,所以就多出了一行空行。

排查定位到这个原因真不容易,解决方法却很简单,以下两种任意一种即可:

2. linux 环境下编写 php 脚本遍历指定目录,删除该目录下所有文件的 BOM 字节。

 

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

酷奇给酷奇打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付
WordPress 主题文件 UTF-8 BOM 带来的问题及解决方法 为主题派网版权所有,转载请注明出处,所有资源不提供技术支持。压缩包先解压,然后把主题和插件重新分别压缩再上传到网站,才能正常使用。
酷奇
酷奇 关注:0    粉丝:0
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到 常用语
扫一扫二维码分享
×
艾瑞克网