前几天换了服务器,PHP 和 MySQL 的版本都从 4 升到了 5。由于 MySQL 从 v4.1 开始对字符集的支持细化了许多,升级后的中文变成了乱码。对于 Wordpress 的处理办法,到处可以 Google 得到,只是没有在网上找到 Bo-Blog 的解决方案。那就只能自己动手了。
把 Bo-Blog (2.0.3 SP1)的目录下的文件翻了一下,找到了控制数据库连接的文件,是/inc/目录下的db.php。我找啊找啊找,在39行处找到了眼熟的一句:
mysql_query("SET NAMES 'utf8'");
唔,这条语句所在的判断是:
if ($a_result) {
if ($db_410=='1')
mysql_query("SET NAMES 'utf8'");
}
if ($db_410=='1')
mysql_query("SET NAMES 'utf8'");
}
嗯,说明程序是先判断 MySQL 版本是否高于或等于 4.1.0,如果是则执行这条设置字符集的语句,但是,既然我是直接把 MySQL 直接升上来的,所以这条判断也没啥用了,所以直接这条语句执行好了。试着直接删掉或注释掉这句:
if ($db_410=='1')
这样,这块代码就成了:
if ($a_result) {
mysql_query("SET NAMES 'utf8'");
}
mysql_query("SET NAMES 'utf8'");
}
保存文件,上传。打开 Bo-Blog 一看,以前全是疑问号的乱码恢复成了漂亮的中文。
@Update:其实不用这么麻烦,直接把/data/下面的config.php文件里的:
$db_410='0';
改成:
$db_410='1';
也可以达到目的。
Popularity: 36% [?]
相关日志:
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.