pluggable.php及UTF 8 编码的问题

August 1st, 2008 阅读量:

写在前面:最近翻译了一篇关于3D LOGO的文章,引出了一些不快。在翻译的过程中由于我引用了部分老外的图片,于是他给我发了6、7封邮件坚持要我把图片撤掉。我这是做翻译又不是做纯转载,撤掉图片我还翻译给谁看?我知道辛辛苦苦写篇文章不容易,有的时候被不署名转载心里肯定不爽,但我没有啊,在保持了转载者应遵守的道德准则基础上,所有该注明的地方我都注明了,甚至每个图片都链回了原作者的页面。为什么还不同意?就是不让转载的话倒是写明白啊!那我肯定连动都不动。

最后实在没办法一气之下我只好撤掉了原文,用我自己的图片和方法替换了之前的文章。谁成想今天出乎意料之外再次收到了那个老外的邮件,居然用法律恐吓我!服了,不用他的图片了还不依不饶?到底想怎么样?更可气的是,那老外不知从哪找来了2个人,今早给我留言,写了一些充满攻击性的恶言,活脱像一个外国电影里下三滥说的话。都说外国人素质高,我看也不见得。呵呵,写了一年多的博客了,今遭头一回遇到这种事还真有点不适应。

正因如此,引出了下文。我想到了月光博客推荐过的一款留言过滤插件——No Shit,这个插件的作用主要用于自保,可以将评论中敏感关键字(也就是传说中的“有害信息”)进行过滤,将敏感文字替换为×。

关于pluggable.php的问题

下载,安装不用说了,但在WP2.5后台启用后pluggable.php文件突然报错,在第694行有问题。在风无言的帮助下修改了pluggable.php文件,这才使博客正常显示,再此表示感谢~如果大家在2.5中安装插件遇到了这个问题,不妨试试风无言修改的pluggable.php文件,覆盖即可。

关于UTF 8 编码的问题

修改好了这个文件,我发现登录后台时依然存在错误,当然,这不是pluggable.php问题。经过分析发现是插件保存时编码导致的错误。错误信息如下(output started at /home/xxx/public_html/wp-login.php:1)。<a href="http://wpchina.org/wordpress-26-tips-part-3-cannot-modify-header-information-281/" target="_blank" rel="noopener noreferrer"><span style="text-decoration: underline;"><strong>WordPress中文站</strong></span></a>里曾经提到过,这种错误在表面看来是文件的第一行出现了问题,但实际上是第一行被使用的文本编辑器插入了一个看不见的字符,导致了这个错误。这个字符就是 UTF8 的标志。

<a href="http://wpchina.org/wordpress-26-tips-part-3-cannot-modify-header-information-281/" target="_blank" rel="noopener noreferrer"><span style="text-decoration: underline;"><strong>WordPress中文站</strong></span></a>给出了解决方法:

1、使用 emeditor 或者其他能够区分 UTF8 with BOM 和 UTF8 no BOM 的编辑器,来编辑文件,将其保存为 UTF8 no BOM 编码格式;

2、使用记事本或者其他无法区分 UTF8  with BOM 和 UTF8 no BOM 的编辑器,来编辑文件,将其保存为 ANSI 或者 gb2312 编码格式。

果然,我重新编辑No Shit后,所有问题就轻松解决了。因此,再遇到php:1类的问题时,试着重新编辑一下该文件(并不局限于插件,对WP本身文件也有效)的格式,应该能迎刃而解。