wordpress的一个问题

This blog was published on 21 July 2008 and may be out of date.

昨天在IE8下修改页面时还遇到了另一个问题。wordpress自作聪明的把一些标点符号,例如(’),(…)给自动转换为了UTF-8标准码格式,变成(’)和(…)。

我以前一直没有发现这个问题,因为在IE6,7和FX2,3下这些符号的显示并无任何夸张的地方(至少在我的电脑上如此)。这些符号虽然被转换为了UTF-8格式,但实际显示中还是很像半角引号。

不过,IE8开始遵守那个神秘的“标准”之后,如果你的blog和我的一样,是”*****’s blog”之类的名字,这个问题将显得异常明显,就会像图片中一样难看。
Bear's Blog New Zealand
询问Google大师之后,了解这个问题的根源在于/wp-includes/formatting.php这个文件中。猛击这个文件,删除wptexturize这个函数中你不喜欢的那些符号转换即可解决问题。

不过如果你和我一样对php一窍不通,而且很懒,有人写了一个小插件,Quotmarks Replacer,不到2k,能很好的解决这个问题,而且支持到wp 2.6。这个插件相当于禁掉了那个讨厌的函数。

我不知道wordpress这样做的目的是什么,洋人又不用全角标点符号。(啊,其实用的,只不过那个撇号不如图片中的那个一样夸张。)不过可以预见的是,如果IE8继续遵守这个标准,wordpress迟早得取消掉这种转换,否则将会对大量wordpress架设的英文blog带来麻烦。在英文中(’)这个符号用得太多了,中文反倒还好一些。