升级到WordPress 2.2,解决乱码的问题

on May 19th, 2007 by 小桥 | 5 Comments »

WordPress 2.2发布了,于是就动手把这个Blog升级了一下。但是升级完就郁闷了,中文都是乱码。赶紧Google搜索“MySQL WordPress2.2 乱码 utf8”这几个关键字,找到一个临时解决办法,就是把wp-config.php里面的两行代码注释掉。
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');


但是这样还是治标不治本,又看了很多帖子,终于把问题解决。
mysqldump --compatible=mysql40 wordpress -p >/tmp/wp-40.sql
mysql>drop database wordpress;
mysql>create database wordpress default character set utf8 collate utf8_general_ci;
mysql -p wordpress --default-character-set=utf8 < /tmp/wp-40.sql

{Leave a response }

  1. pan says:

    第二步也可以用phpmyadmin直接改数据库

  2. 小桥 says:

    貌似不能直接改吧,重新建数据库并导入数据我倒是用phpmyadmin完成的。

  3. pan says:

    哦 忘了 你是升级过来的 不是首次安装

    这样就不行了 因为已经有数据了

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

  5. […] 再搜索一下找到一个号称“终极解决方案”,乱码的问题所在是 mysql 的 charset 和 collation 设置不对,查查我的 mysql,charset=latin1, collation=latin1-swedish-ci,的确是有问题,参照“终极解决方案” 建了一个新库,charset=utf8, collation=utf8-general-ci,然后把就数据 dump 到新库里面,修改下 wp-config.php 指向新库,再去掉刚才的两行注释。一刷新发现乱码依旧! […]

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA * Time limit is exhausted. Please reload the CAPTCHA.