Wordpress: url里的中文

我一开始可能就做了个错误的决定,让url里包含着中文。在一亩地里,幸好一般的帖子的链接并不包含中文,可是序之类的属于页面,我没注意就设成了包含中文(当然可以通过Post Slug补救,但也只能一般页面,如果是子页面,也有情况处理不好)。于是在这种情况下,在一亩地里的序之类的地方留言,就会由于链接不对而得到错误页面。
理论上,网页留言并不是很复杂的情况,同时如果要求留言之后仍保留在同一页面,可以有以下两种方式:
1、自包含的页面处理,只要表格是这样的形式:<form method=”…” action=”page_itself”>
2、由别的页面处理,但在处理的末尾使用redirect的方法把页面又重指回到起始页面。Wordpress就用的是这种方式。
在第2种方式下,就需要有一些参数传递。我一开始总想不通这样简单的参数传递为何会引起错误的链接,于是用了小聪明,把404.php给改了一下,其实就是在发现错误链接的时候,试图通过其他信息把它又重定向回起始页面。但是,结果却发现这个方法在IE里又不适用,只有Firefox还行。这使得我只好不偷懒,重新阅读程序。
期间,还发现了另一个错误,那就是在编辑页面预览的地方,如果帖子的url包含中文,竟然也不能正确预览,而之前使用WP 2.0的时候决没有这样的错误。于是对比了一下,在wp 2.1里,调用iframe的地方,使用了一个新的function: clean_url,它会把一些不常见字符之类的给替换掉;而在wp 2.0里,用的是attribute_escape,但处理的只是常见符号。把clean_url改成attribute_escape也就能正常预览了(虽然我还是不明白有什么必要来调用clean_url或者attribute_escape)。
这倒也提醒了我,上面留言时可能出现的错误,于是看了一下wp_redirect,果然有部分内容和clean_url功能相同,把链接里的一些字符给处理了。 我就决定舍弃Wordpress提供的wp_redirect,自己用header(”Location: “.$url)来完成网页重定向,结果又是在IE里碰到了麻烦,一看url完全是乱码。而Firefox里则一切正常。问题其实又回到了一开始我试图用404.php来处理错误的地方。
于是就Google了一下,发现不同浏览器对url的encoding方式就是不同。一般的建议是不要依赖于浏览器来正确统一的解码。也就意味着在服务器端,我得先使用一下urlencode。 然后由于我自己想表现的厉害些,就想用array_map来做encoding,结果就是总有一些意外的情况,虽然总能处理,但却完全违背了我懒惰编程的习惯。所以最后就只是用urlencode来处理了几项会出错的地方。
一切都暂时解决了之后,我就想最当初Stone还问过我Slug是啥,我也没多加理会,还不让Stone用来着,硬是要链接里出现 %e5%92 这样的字符才高兴(当然有些浏览器还是挺好的,可以好好的看出是中文)。但最后也在奇怪,为什么Wordpress帖子(Post)的url是中文其实也没事,而页面(Page)却不行。再仔细查看了一下,原来是Wordpress把帖子的url都已经urlencode过了,而页面的url却没有。不明白Wordpress为什么不好事做到底…

Snap preview - delayed/timeout load

I saw this function weeks ago. It pops you up a thumnail of the link:

I like this function. It is just like what the search engine, Ask.com, did to display the search results. Even the Wordpress.com started to use it. And I enabled this funtion last week.
But today, there is a serious problem fetching the […]

upgrade wordpress of 2.0.x series by patch

Now I did this two times: from 2.0.4->2.0.5 and 2.0.5->2.0.6. It was quick and neat. You don’t have to disable any installed plugin and reactivate it later. But surely do a backup.
And the way to do the patch is:
1. go to the Mark’s blog, and get the diff file. Remember, download the file and save […]

Digital Millennium Copyright Act (千禧年版权法)

这是上两个星期就想关注的一个话题,还找到了一段关于设计(design)的法律原文。其中竟然还有对重点词汇的英文解释,感觉还可以用来学英语。不知道学法律的同志们是否因此就会对英语的准确性认识要高很多,不过他们本来英语就要比我们学科学的强吧。还有,我在此摘抄法律原文,应该不违反版权法吧

(a) Designs Protected.—

(1) In general.— The designer or other owner of an original design of a useful article which makes the article attractive or distinctive in appearance to the purchasing or using public may secure the protection provided by this chapter upon complying with and subject to this […]

Bluetooth

今天在buy.com看到个免费的蓝牙耳机(after $25 mail-in rebate),虽然一户只能免费一个,但是有google  checkout赞助,我就脑子一热买了两个(刚好$50可以省20,然后拿rebate,也就花$5)。
然后现在仔细一想,犯了好大的错误,一则家里的手机还不知道能不能用bluetooth。二则,我的电脑也没bluetooth的功能,还得再买一个usb的bluetooth adapter。真应该买一个耳机,然后买一个adapter(价值正好$30左右),这样也就不花什么钱,电脑就可以用Bluetooth了,没买的同学考虑一下吧,后天过期