问题前提:mysql版本>=4.1
1、修改mysql目录下的my.ini
#default-character-set=latin1
default-character-set=utf8
2、修改wp-includes/wp-db.php
在对象wpdb中添加函数set_charset($charset):
class wpdb{
function set_charset($charset)
{
// check mysql version first.
$serverVersion = mysql_get_server_info($this->dbh);
$version = explode('.', $serverVersion);
if ($version[0] < 4) return;
// check if utf8 support was compiled in
$result = mysql_query("SHOW CHARACTER SET like 'utf8'", $this->dbh);
if (mysql_num_rows($result) <= 0)
return;
if ($charset == 'utf-8' || $charset == 'UTF-8')
$charset = 'utf8';
@mysql_query("SET NAMES '$charset'", $this->dbh);
}
}
3、并修改wordpressmu根目录下的wp-settings.php:
require (ABSPATH . WPINC . '/vars.php');
$wpdb->set_charset(get_bloginfo('charset')); // add at this
4、重新创建wordpressmu的数据库(重新安装wordpressmu)。