换用 WordPress Blog 专用空间



原空间是盘古个人III型空间,200M,电信线路,2008年2月到期,前段时间已经开始未雨绸缪,考虑二月之后到底用不用它。虽然电信线路访问空间时速度相当不错,但家里现在用的是广电网,网通出口,FTP访问非常慢,上传速度约为1k/s :S

当年会买入这个空间,就是因为前任主人是网通线路,受不了维护时的龟速才低价转让给我的,现在,终于轮到我了……

世界上最远的距离/不是北京到纽约/而是网通到电信

几周前访问盘古时发现他们和WordPress中文团队合作推出了Blog专用主机,1G空间,网通线路,号称电信访问速度也不错,就下了定金。本来说1月1日服务器上架,出了点小意外,到3号才正常,今天晚上联系了盘古的客服,做好了数据迁移,改了域名解析,结果访问后发现所有内容都变成了一连串的问号,明显是字符集问题。可在后台用phpmyadmin看数据库的确是UTF8,没有任何问题,前台页面的字符集也设置为UTF8的。

怀疑是数据迁移的过程中出了错,正好 WordPress 有新版 2.3.2,索性更新了一下,看看能不能让它更新数据库。还是不行。

这时,仿佛是有如神助一般,我打开了 WordPress 的 wp-config-sample.php 文件。

当我首次建立 WP 时,根据 wp-config-sample.php 的格式了创建自己的 wp-config.php ,此后哪怕对 WP 进行版本更新,也不需要修改 wp-config.php,所以这个文件我从来没在意过。结果这次发现新版中 wp-config-sample.php 多了这么一行:

define(’DB_CHARSET’, ‘utf8′);

加到自己的 wp-config.php 中,一切正常了!

我自己写的几个页面依然是满页的问号,只好继续搜索。原来桑林志在05年就指出了这一问题的罪魁祸首:MySQL 4.1.X 及更新版本。

对比一下新旧空间,果然升级了。
旧空间:
Apache 版本 1.3.39 (Unix)
PHP 版本 4.4.7
MySQL 版本 4.0.27-standard-log
新空间:
Apache 版本 2.2.6 (Unix)
PHP 版本 5.2.5
MySQL 版本 5.0.45-community-log

天哪,MySQL 5.0 啦!以前从没用过这么高版本的,哪怕在自己机子上搭服务器也只用 4.0,所以从来没考虑过 4.1 之后出现的 MySQL 字符集问题。

5.0,好先进!好感动!好……麻烦!!

继续搜索非 WordPress 的 SET NAMES 问题,原来很简单,和数据库建立连接后,执行

mysql_query(”SET NAMES UTF8″);

如果在连接建立前执行,会提示没有权限。

问题终于解决。

MySQL 升级到 4.1.X 以上版本这么多年了,wp-config-sample.php 中的 define(’DB_CHARSET’, ‘utf8′); 估计也已经加进去很多年,我还被这个问题折腾了一下,果然非技术人员做不到与时俱进就是弱啊 :’(

5 Related Posts

  • No related posts
  • One Response to “换用 WordPress Blog 专用空间”

    1. TalkyBird Says:

      简单测试了一下电信访问的速度,还行,没有慢到无法忍受。

    Leave a Reply