转站记,遭遇乱码
01.13.2009 by 囚徒 - 0 Comment - ViewsPosted in 建站相关
现在空间已经转到刚买的商业空间了,买之前试用了三天,在这三天的试用期间,先试着迁移了下,把以前在171ZZ提供的免费空间上的BLOG数据导入新空间,发现BLOG的汉字都变成问号了,网上搜索了好久才知道是因为是MYSQL4.0以下版本数据转到MYSQL4.1以上版本时引起的,171ZZ的免费空间是4.0的,而现在的空间MYSQL是5.0。按搜索到的方法,自己修改下数据库后,终于正常了。
关于解决WordPress 数据库从MySQL4.0转到4.1以上版本引起的乱码问题,我是参考Discuz!论坛上某网友Discuz!遭遇相似问题时的解决方法:自己动手解决Mysql4.0到Mysql4.1乱码问题 ,
1. 先导出Mysql4.0的数据库(导出时将添加DROP TABLE选上);
2. 用UltraEdit打开导出的sql文件,将所有TYPE=MyISAM替换为ENGINE=MyISAM DEFAULT CHARSET=gbk,将TYPE=HEAP MAX_ROWS=100替换为ENGINE=HEAP DEFAULT CHARSET=gbk MAX_ROWS=100,然后保存;
3. 进入服务器的phpMyAdmin管理,将改好的文件导入到服务器上(导入时将Character set of the file选为GBK)。
4. 进入后台更新缓存,就大功告成了。
而我针对的是WordPress,要改下他的各步骤里的内容,步骤2里的gbk应该是utf8,相应的步骤3导入时字符应选utf8。PS:据我的数据转移经历,步骤2里的
将TYPE=HEAP MAX_ROWS=100替换为ENGINE=HEAP DEFAULT CHARSET=gbk MAX_ROWS=100
不适用WordPress数据,所以无视。
上面的方法Discuz!论坛上那位网友自己也说是个笨办法。其实这个方法与 桑林志的解决方法 效果是一样的,只是一个是手动修改数据库,而另一个交给php语句。桑林志的解决方法是
为著解决这个问题必须去修改wp-includes/wp-db.php内的资料连线设定。详细的修改方式是这样的:
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面这行
$this->query(“SET NAMES ‘utf8′”);
乱码问题解决,转好数据库后,需要调整站内链接,解决方法是:
站内链接调整:因为数据库相同,当然网站里所有站内链接也会和原来的相同,全部指向的还是原来的服务器地址。在PhpMyAdmin里选择数据库中的” wp_options“表单,点击”浏览”然后按”option_name”排列主键顺序,找到”option_name”键值为”siteurl”一 项,点击”编辑”按钮,把里面的原来网站链接地址改为新的。然后找到”home”一项,同样编辑把链接改成新的网址。
之后又找了现在的主题,放置底部信息,一开始引起错位,又得修改下,好了。再稍稍修改下主题代码、布局和分页,添加ROBOTS.TXT。这次转站可花了我好长时间。。。