2006 09月的整月存档

转换MySQL编码

前几天登录phpMyadmin才发现,我的数据库编码有些问题,数据库不是我创建的,虽然MySQL 字符集是utf8,MySQL连接校对也可以选为utf8,但是wordpress创建的wp表的格式却是默认的latin1_swedish,当时也没有细看,只是觉得有点不对劲,页面、数据库都是utf8的,实际纪录的数据却不是的,这样怕将来带来兼容性的问题。果然,当自动备份的数据库发送到我的邮箱时,主题有乱码,因为主题是网站的名称,而我的网站名称里有中文。下定决心要解决一下了,不能拖了。

搜了一下,发现这个问题倒是蛮普遍的,网上很多人问,也有一些人给出了解决办法,找了两个情况差不多的作为参考,就准备动手改了。

第一步:备份。以前从msnspace搬家到WordPress来的时候,可是人工一篇篇搬的,不兼容带来的显示问题还需要一篇篇更改,花了很长时间,现在再也不想了,所以备份作充分点。

备份了三份:第一个就是feed,把所有的文章显示出来(FF好像不行,IE可以),保存生成的xml文件。第二个就是phpmyadmin的导出功能,用EditPlus查看导出的sql文件,果然是乱码。第三个就是WP DB Backup这个插件,可以备份数据库成sql.gz文件,解压缩打开,里面倒是好好的,没有乱码。

第二步:改码。主要参考了这篇文章 ,修改,推荐一下EditPlus这个东东,很不错的。改后用phpmyadmin的导入功能导入sql文件,我没有清空原来的数据,自动覆盖的,之后表项就显示成为了utf8_general,然后再用“操作“功能整理一次数据库成“utf8“。数据库这里弄完了,浏览post,可以直接看到中文的内容。
第三步:加码。就是修改wp-db.php这个文件,不能也没有什么问题的,因为之前的操作都正常,页面显示的都是??,跟别人说的一样,以为加了这么一行代码$this->query(”SET NAMES ‘utf8′”);就可以了,加了之后页面整个都是错误信息。后来看到有人说要注意符号的问题,所以$ ‘ “等符号我直接从其他的代码里复制过来,想想应该没有问题了吧,结果还是一页的错误,甚至删了新加入的那一行代码,恢复到以前的状态也不行,郁闷了。没办法了,又重新下载了wordpress的程序安装包,把wp-db.php覆盖过去,还总算回到了??的页面,这也算一大进步了。

嘿嘿,最后怎么解决的?就一行代码嘛,几个字符而已,又不长,我一个一个地敲进去,注意一下在英文状态下的半角状态就可以了。刷新页面,熟悉的中文字又出来了,整个过程算是搞完了。

试用Windows Live Custom Domains

这个服务推出来已经好久了,说来也不算什么新闻,本来也不打算试用,第一是因为Gmail for your domain老是不给我邀请,第二还是看中了Live战略,至少我认为,Microsoft的Live是有很多值得肯定的地方的,以后再说这方面的。

因为网上关于申请Windows Live Custom Domains的教程满天飞,但是大多数都是ctrl+c、ctrl+v的,没什么新意,我这里只补充三点:

1。管理帐号可以不用已经存在的Live ID(.NET Passport)或者去申请一个新的hotmail.com/msn.com地址,因为我觉得没有必要,既然已经要用这个yourdomain邮箱了,又何必要用另外一个账号去管理它,岂不是又要多记一个邮箱地址,我的邮箱已经太多了,而且都是很好的用户名,我都已经没法取舍了。所以这次我要用一个pengjianping.cn的邮箱地址来管理这个邮局,登录的时候选择注册新Live ID,再选用自己的邮件地址注册,我用的是admin@pengjianping.cn,注册成功之后返回domains.live.com,会出现类似“你是否要用admin@pengjianping.cn来管理这个域,配置成功后会自动创建一个邮箱“,选是就可以了。呵呵,用这个域的邮箱来管理这个域,希望不要出问题啊。

2。关于修改MX纪录,网上的教程都是把微软提供的信息贴出来,对指导别人一点用也没用,因为各家域名注册商的域名控制面板里的设置几乎都不一样,我用的是商务中国http://cache.cdncache.net, 里面关于增加邮件纪录说得很简单,只举了两个例子,而且在这里都不适用。特别是那个MX纪录,不知道放在哪里,只有优先级一栏是对应的,主机名留空例子里有说明,下面的Mail主机名一栏,按照举的例子,应该只要hotmail.com前面的部分,想想又不对,就把整个MX地址全放进去了,就是*******.pamx1.hotmail.com整个部分,修改之后现实的邮件纪录要注意“hotmail.com.后面的那个“.“,不过应该是系统自动生成的。

3。创建的邮件地址要先去http://www.hotmail.com/至少登录一次以便激活,很多教程都提到了,就怕有些人当时太激动忘记了这一步。

我还是比较喜欢Gmail系统,申请了Gmail for your domain很多遍了,都是石沉大海、杳无音信,今天还把申请的国家改成了US,听说这样比较容易,但愿如此罢。

分类排序的问题

原来还没有发现,今天添加了几个子分类之后,发现在右边的sidebar里是乱显示的,就是子分类并没有排在上一级分类下面,特别不爽。

当然肯定是可以实现的,不如Yskin’s blog就显示正常,我想先自己解决看看,这也是成长的过程嘛。

上网搜到了一个可以实现分类排序的插件,My Category Order,安装上了,照着说明改sidebar.php,就是没有发现那么一条实现排序的语句,在默认的主题里的sidebar.php里就有,这才明白My Category Order不支持k2主题,但是我不想放弃k2啊,因为它的自定义模块功能实在强大,Ajax还在其次。

为了在k2里找决定分类排序的语句,我翻遍了有category,categories,sort等字眼的php文件,sidebar.php里用到的参数实在太多,不知道哪一句是调用category的,没时间仔细看了。

问题已解决,参看http://www.pengjianping.com/blog/hierarchical/

2006.11.20