mysql数据库迁移的时候遇到问题最多一般都是编码问题。从3.x版本迁移到4.x版本,4.x升级到5.x版本,或者同版本之间都会遇到。使用外国开源软件比如wordpressmovabletype架设blog的朋友一定深有体会。网上已经有很多介绍各种对应解决方法的文章,用搜索引擎就可以搜到。我的情况是这样的,mysql数据库里面,安装的时候是latin编码,后台管理程序和前面生成的页面都是正常的编码,但是用phpmyadmin管理数据或者导出备份的时候都是乱码。

解决方法非常简单:

第一步

mysqldump -u username -h somehost -p --compatible=mysql40 db_name > temp.sql

第二步:

用phpmyadmin清空数据库并设置数据库整理为utf8_general_ci

第三步

mysql -u username -h  somehost  -p --default-character-set=utf8 db_name < temp.sql

当然如果你有root这样的牛账号,可以直接看小桥的文章。这里compatible=mysql40参数的意思是导出的数据库兼容4.0.x版本以及以下3.2.x版本的mysql数据库。至于为什么采用这个参数,看这篇文章http://www.elaguan.net/article.asp?id=119,有点长,而且……越看越晕。然后在相关web程序连接数据库query之前要记得先执行一下:SET NAMES 'utf8'。

另外,我刚刚试着安装了movabletype的beta4版本,程序界面上确实非常web2.0,渐变的背景,圆润的按钮,尤其是那个“Write Entry”令人印象深刻。由于是beta版本,相对于精致且稳定的3系列版本,稍微有点糙了。喜欢赶潮流的同学可以不用考虑立即升级安装(安装前记得备份数据),不喜欢瞎弄的同学还是出稳定版本的mt4以后吧,或者继续用mt3。