EF BB BF

WordPress默认使用了Gravatar头像,但由于我们身处伟大的兲朝,又有强大的GFW,导致Gravatar的服务器经常连不上,头像获取失败。

Gravatar默认头像 150×150

Gravatar默认头像。如果无法显示,那么很荣幸,您八成被墙了。

为了优化页面加载速度,想对Gravatar头像进行本地缓存,百度一下发现方法不少,大部分是依靠修改主题模板的functions.php文件实现的,于是尝试之,果断悲剧了

 管理工具栏乱版

管理工具栏乱版,可以看到Malash明显位置偏上了

管理面板侧边栏乱版

管理界面侧边栏乱版

各种调试都没用处,无奈,只能恢复。用Beyond Compare 3(一款很好用的文件比较器,有30天免费试用)比较functions.php发现新旧没有区别,但乱版问题依然存在

文本方式比较functions.php的结果,两文件没有区别,继续用16进制方式比较

16进制方式比较functions.php的结果

16进制方式比较functions.php的结果,问题出现了

EF BB BF是个神马东东?

这篇日志做出了解释:

微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节,windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的,然而这个只是微软暗自作的标记,其它平台上并没有对UTF-8文本文件做个这样的标记。

EF BB BF是微软在文本文件开头加的UTF8字节序标记

而我正是用的Windows自带的notepad(俗称记事本)对functions.php进行编辑,于是被加上了EF BB BF,但PHP显然不支持微软“独具匠心”的设计,于是乱版了(浏览器不同效果也可能不同)。这篇文章也对此问题做出了解释

原因找到了,解决办法就很显然了。可以使用EditPlus或者UltraEdit-32进行编辑,也可以使用WinHex手动删除EF BB BF

使用WinHex删除EF BB BF标记
使用WinHex删除EF BB BF标记

不过,更好的解决办法是,使用WordPress管理面板自带的文件编辑器。

一条评论

文章评论: