Archive for April, 2008

WordPress中的英文(半角)单引号
Friday, April 18th, 2008

在WordPress里,保存文字时系统都会有一些filter函数对输入的文字进行处理,然后再输入数据库。但是这个过程中英文(半角)单引号的处理有些诡异。

无论是在设置中的blog标题,还是日志,输入的英文单引号都会被转换成”’”这样的表示方法。在HTML页面中输出特殊符号(HTML entities)时转换成这样的表示非常值得推荐,问题是”’”表示的是全角的单引号,即中文的单引号。

我们一般也不会在意,不过昨天,我帮她搬家的国内互联网某知名博客(其blog标题中有个单引号)说很丑。于是我想了想,英文单引号的正确表示是”'”,填入,然后点击Save Changes。嗯,真正的英文单引号显示在了标题栏,世界清净了。

不过此时要注意看,Blog Title输入框里的”'”又变成了英文单引号!如果再次点击Save Changes,那么前功尽弃,单引号又变成了全角。所以每次保存这个表单时,都需要把这个引号用”'”替换,再保存。

从blogbus搬家到WordPress
Thursday, April 17th, 2008

最近刚刚帮国内互联网某知名女博客搬了家,稍微写点东西。

据她说,许多人对她说“使用wordpress是成名的第一步”。又据说还有Blogbus的人跑去留言“Blogbus竟然还有这样的人”。要是一直用WordPress,早就火了。

Blogbus也算国内数一数二的BSP了(新浪、搜狐那些不能叫做blog,也就不算在BSP之列——顺便鄙视一把),导入功能做得炉火纯青,然而导出就只是作为备份用了。这也不能怪blogbus,因为各种blog平台之间并没有统一的交换格式。普通的RSS输出显然不能胜任,因为完整的转换至少还要包括评论以及评论与日志之间的对应关系。

然而一旦有了备份,一般情况下也就解决了问题。比如WordPress就提供了导入Movable Type导出文件的功能,Movable Type同样也有导入WordPress eXtended RSS(WXR)的功能。

不过东方文明还不为西方世界所熟知,譬如Automattic就不知道东方有一个Blogbus,所以WordPress没有直接提供导入Blogbus文件的功能,我们只好绕一些弯路。

事实上这条路已经有很多人走过。冰古算是一位先驱,先后几次更新他的转换程序

这里又有一位blogger在冰古的启发下写了一个从blogbus备份转换为MT导出文件的脚本,使得评论也可以导入WordPress,但是该文章中的下载似乎已成为死链接。另外许多用户反映在服务器上运行时,浏览器中不能显示程序的输出,从而无法复制。这是由于脚本的第一行中指定了Content-type: text/xml,浏览器就将它的输出作为xml格式解析。解决办法就是改为Content-type: text/plain.

下载脚本文件

我转换的过程中,分类没有导过来,其它的还算正常。

IE 7 -> IE 6
Wednesday, April 16th, 2008

虽然IE6就够难用的了,我没想到IE 7会更难用。

刚刚把IE 7降级到了IE 6,凑和着登录网上银行用吧。说实话,如果不是要网上付款,我绝对不会碰IE一下的。当然,作为开发者,为兼容IE做一些白痴工作也是不可避免的。

现在一切都正常,只是弹出的对话框图标还是IE 7的。以前以为降级是很困难的,没想到在添加/删除程序里就可以做到,早知道这样,早就把它删了。当初想调试IE 7的一个bug时,到处找安装了IE 7的机器,后来没办法了只好自己装了一个,觉得作出了巨大的牺牲 :)

现在越来越认识到微软的产品大部分都是金玉其外,败絮其中,而“金玉”则包括市场营销战略。嗯,产品和运营是同等重要的。

Ajax.Autocompleter不支持中文
Wednesday, April 16th, 2008

最近在使用scriptaculous/完成项目中的一处自动提示功能时,发现Ajax.Autocompleter对中文支持很不好。

我用的是Google拼音输入法,在输入汉字的拼音时,输入完第一个字母后即触发输入框的事件,js就向服务器查询相应的匹配。实际上此时汉字尚未上屏,出来的匹配是该汉字首字母匹配(英文的)。这样,自动提示功能不仅毫无用处,而且会让用户莫名其妙。

一番探索之后,发现scriptaculous是在捕捉到keypress事件时向后台发起查询请求的,我仅简单地把keypress改为keyup,即解决了支持中文输入的问题。显然,这是由于输入法在浏览器的更上层处理了键盘事件的缘故。不过本方法没有经过广泛的测试,我只是在Firefox+Google拼音这个组合中试验通过。

似乎现在jQuery的发展正如日中天,各种插件数不胜数。尽管Prototype以及基于它而来的一些js library仍旧占据着很大的市场,但相对于jQuery来说已经是在走下坡路。

美景在于心情
Saturday, April 12th, 2008

世界的存在,是因为我活着;眼前的美景,是因为我心情好。

去了惠东,我感觉太好了。有一天,我对某人开玩笑说,这次来这里,是我一生中做过的最正确的选择。

初去的那几天一直是阴天,经常飘着牛毛细雨,很凉爽。家里客人比较多,每天早上睡懒觉起来,都跑到旁边的饭店“饮茶”——广东人的习惯。白天就自由自在地玩,有时候跑到旁边的湖里划船,有时候跟着大家到祖坟扫墓、回老家祭祖、到风景秀丽的山寺拜佛,还跑到惠州的“西湖”去玩。晚上吃了晚饭,就到湖边吹风,或者去广场上看音乐喷泉。

这样的生活确实很美好,不过前提是无忧无虑。等到快回北京的时候,我就开始计划起回来以后要处理的一些琐事,心情也不是那么舒畅了——我这个人一直是比较悲观的。

今天早上,刚下过雨,空气像被过滤了一样,很新鲜。走在路上的时候,我就想,假如我在这里没有那么多的琐事缠身,我是来这里度假,这个城市里也有许多让人留恋的美景,生活也可以很美好。回来之后发现门口的一树桃花挤得都放不下了,可是已经过了最鲜艳的时候。玉渊潭的樱花,估计也错过不少了吧。在没有好心情的时候,这些美景会马上被忽略。

忙过这一阵,如果有时间,我想去欢乐谷,找点刺激,放松一下。

迟来的燃气缴费单
Friday, April 11th, 2008

我们楼的煤气缴费通知单都放在一楼门口的一个纸袋里,可是这次单子发下来的时候,我却找不到我们房间的。说是“这次”,似乎已经过去一个月了。我去问值班的大爷,他先给我来了一段广告,让我租他的房子……blabla……然后才告诉我两个电话——62344438/62344439——我后来才发现以前的缴费单上就写着这个电话。

于是我不辞劳苦地打啊打啊,可是这两个号码就好像民生银行的客服一样——打不通!过了几天,终于打通了,对方说帮我查一下,然后回电话。过了两天,果然给回了电话,真让我意外加激动,说星期一给我补一张,我连忙道谢。可是到了星期一,我却没有发现补来的煤气单子。

正好此时去了广东。快回来的那几天,我就开始想回来之后的几件麻烦事,其中之一就是这煤气费。我想,虽然收不到缴费单不是我的责任,但是燃气公司肯定也不会认为是他们的责任,滞纳金不知道有多少,对租给我房子的房东也不知道有没有影响。

前天,我终于鼓起勇气开始了第二轮轰炸,没想到第三次就打通了,真是幸运。这次直接找来了管我小区的人来接听,我说明情况后,对方就说,你这是欠费了啊。没办法,你不给我单子,我不欠费怎么办?这么神秘的组织,电话打不通,地址也不知道,就管收钱。后来说给我补一张,我说已经补过一回了,对方说第二天下午给我送过来。

昨天下班回家,终于看到了亲爱的通知单,最迟交费日期一栏写的是4月18日,不错,看来没把责任算在我头上。

你想想,追着人家给钱!这是什么道理呢?绑匪一般都是通知人“你把钱放在某某地方,钱到手了我就放人”。燃气公司可厉害多了。“您要多少钱?”“我把金额放到某某地方,你看到了就去交钱!”于是我就屁颠屁颠去看该交多少钱,空手而归,还得求人家,“拜托赶紧告诉我多少钱吧!”

惰性很强了
Wednesday, April 9th, 2008

不知道什么时候开始对稍微繁复一点的任务有了恐惧感,总是拖延时间不想开始。该做的事终归还是要做,这样的结果仅仅是浪费了宝贵的时间。

在广东的十天让我很放松,几乎每天都无忧无虑地度过。虽然每顿饭都吃得不多,刚刚称体重还是重了几公斤(这让我这个瘦子感到高兴)。这就是没有忧虑的直接好处。

不过回来以后我还是得面对我的生活——计算机和程序代码。于是我发现我的效率依旧低下。除去兴趣方面的原因,我发现这段时间来我已经慢慢地有了很强的惰性。

对于自己,对于团队,这都不是好事。这是病,得治!