WordPress头部加载非法字符#65279的解决办法

投稿  憧憬Licoy 2016-05-16 07:29 阅读 531 次 评论 32 条

前言

昨天我把本站的字体改了一下,然后觉得不如以前,又换了回去了,之后我用Chrome浏览器打开我的博客,第一眼看到首页没有任何问题,之后进入一篇文章问题就出来了,网站顶部出现了高度为27PX的空白,搜索框错位,侧边浮动工具变扁了。

WordPress头部加载非法字符#65279的解决办法

当时我第一眼就懵了……,修改了一个字体不至于这样吧,然后我就一直以为是css的问题,然后弄了好久还是那样,然后我审查元素查看网站顶部的时候就发现莫名其妙的加载了一个& #65279;字串,然后我把这个删除网站顶部就恢复了,所以肯定是这个的问题。

WordPress头部加载非法字符#65279的解决办法 第2张

后来上网查了一下,是Unicode字符的特征,UTF-8文件的开头会带一个BOM字符,这个是用网页编辑器都无法查看到的但是可以用UEStudio或UE十六进制方式查看,再以& #65279;为关键字搜索就可以看见。

解决方案一:

通过Dreamweaver来实现去除Unicode的BOM字符,在Dreamweaver中打开你要修改的页面,然后修改>页面属性>标题/编码>把包括Unicode签名(BOM)勾去掉,然后就 OK了。

WordPress头部加载非法字符#65279的解决办法 第3张

解决方案二:

将下方代码另存为PHP文件,上传到服务器进行执行。

  1. //remove the utf-8 boms  
  2. //by magicbug at gmail dot com  
  3. if (isset($_GET['dir'])){ //config the basedir  
  4. $basedir=$_GET['dir'];
  5. }else{
  6. $basedir = '.';
  7. }
  8. $auto = 1;
  9. checkdir($basedir);
  10. function checkdir($basedir){
  11. if ($dh = opendir($basedir)) {
  12. while (($file = readdir($dh)) !== false) {
  13. if ($file != '.' && $file != '..'){
  14. if (!is_dir($basedir."/".$file)) {
  15. echo "filename
  16. $basedir/$file ".checkBOM("$basedir/$file")." <br>";
  17.                  }else{
  18. $dirname = $basedir."/".$file;
  19.                      checkdir($dirname);
  20.                  }
  21.              }
  22.          }
  23.      closedir($dh);
  24.      }
  25. }
  26. function checkBOM ($filename) {
  27. global $auto;
  28. $contents = file_get_contents($filename);
  29. $charset[1] = substr($contents, 0, 1);
  30. $charset[2] = substr($contents, 1, 1);
  31. $charset[3] = substr($contents, 2, 1);
  32. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
  33. if ($auto == 1) {
  34. $rest = substr($contents, 3);
  35.              rewrite ($filename$rest);
  36. return ("<font color=red>BOM found, automatically removed.</font>");
  37.          } else {
  38. return ("<font color=red>BOM found.</font>");
  39.          }
  40.      }
  41. else return ("BOM Not Found.");
  42. }
  43. function rewrite ($filename$data) {
  44. $filenum = fopen($filename"w");
  45.      flock($filenum, LOCK_EX);
  46.      fwrite($filenum$data);
  47.      fclose($filenum);
  48. }

后记

字符集的编码会引发很多的问题,不只是单单的设置UTF8就OK了。


Boke112导航建议:

我们平时在修改主题文件的时候,建议要使用专业的文本编辑器,比如使用Notepad++(格式选择以UTF-8无BOM格式编码)软件,而不要使用电脑系统自带的记事本文件,切记。具体建议看看《WordPress主题修改菜鸟教程》。

文章标签: ,   ,  
原文地址:https://www.licoy.cn/1703.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 憧憬Licoy 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 静松太极拳
    静松太极拳 【市长】 @回复

    原来这样 我大多 使用电脑系统自带的记事本文件 的多

    • boke112导航
      boke112导航【站长】2016-05-17 08:48  回复

      @静松太极拳这个习惯不太好,有时候同样的代码你用了记事本来编辑保存它就会出错,还是保持良好的编辑习惯比较好

  2. 微西风博客
    微西风博客 【市长】 @回复

    恒创 恒天主机,你挂他们广告干嘛?有合作吗,有优惠码 没有

  3. 博客大全
    博客大全 【总理】 @回复

    感觉112站长越来越偏向于代码的折腾

  4. 新成
    新成 【市长】 @回复

    没有碰到过

  5. 孟子非博客
    孟子非博客 【市长】 @回复

    博主这么快公安备案了

  6. 网扑蜘
    网扑蜘 【镇长】 @回复

    第一次听说,学习了。

  7. 楚书业
    楚书业 【市长】 @回复

    还真没注意到!

  8. 玉满斋
    玉满斋 【市长】 @回复

    唉,我竟然没有碰到过这个问题!

  9. 真我风采
    真我风采 【县长】 @回复

    一个奇葩问题。

  10. 明月登楼
    明月登楼 【总理】 @回复

    学习了!好像以前一直没有发现!

  11. 小C博客
    小C博客 【县长】 @回复

    这种问题太常见了,Notepad++可以直接修改!

  12. 纯洁博客
    纯洁博客 【市长】 @回复

    没注意这个呢

  13. 小宋日志
    小宋日志 【省长】 @回复

    之前好像还真遇到过,不过最近没再遇到过。这个和编辑工具有很大关系。

    • boke112导航
      boke112导航【站长】2016-05-16 14:39  回复

      @小宋日志是的,我也这么认为,所以平时编辑的时候最好用专业的文本编辑器,比如使用Notepad++

  14. 憧憬Licoy
    憧憬Licoy 【镇长】 @回复

    说实话这以前我写东西都是用的UTF8编码,没有用UTF8无DOM编码

  15. 龙凯的博客
    龙凯的博客 【村长】 @回复

    学习学习

  16. 孟子非博客
    孟子非博客 【市长】 @回复

    这个提醒的是

  17. E书之家
    E书之家 【县长】 @回复

    我习惯用EmEditor

  18. 好文推荐
    好文推荐 【省长】 @回复

    一些细节地方观察的真仔细

  19. 胜达SEO博客
    胜达SEO博客 【队长】 @回复

    原来是这样,学习了。

  20. 网际电脑
    网际电脑 【市长】 @回复

    加加人气

  21. 归途网
    归途网 【镇长】 @回复

    这个问题在以前开发商城的时候遇到过

  22. Koolight
    Koolight 【省长】 @回复

    我这两天无聊,发现主题文件里有的css文件有的是utf8编码,有的是其它编码的,这个没影响吧?