需要在includes\Database.php,找到数据库查询子函数:function doQuery,在进行查询前加入以下语句:mysql_query("SET NAMES 'utf8';", $this->mConn );
?
?
问题分析:
因为mediawiki是一个国际化的项目,所以可能其内部数据传递都是使用utf-8形式,而我发现我的数据库的默认整理字符集为gb2312,因此建立好数据库以及查询都是使用gb2312编码。所以导致mediawiki查询出现异常。所以在database.php中指定查询、传输字符集为utf8,问题就解决了。
我猜想如果数据中默认格式是utf-8,则可能不会出现以上问题。