lyceum数据库转移及编码
lyceum是wordpress的变异版本。blogwoo.com就是用lycuem架设的,那时也没考虑什么编码的问题,就这么一直用着,最近发现lyceum对自己的要求太高了,趁着换站把blogwoo.com从meyu.net转移到了自己的本本上。
但是数据库一开始怎么折腾都是乱码,从meyu.net那里下载了几次数据库转换都不成功。
于是把phpnow自带的phpMyAdmin上传到meyu.net的服务器, MySQL 连接校对依然保持utf8_general_ci,导出数据库sql压缩包。
回到phpnow本地系统,创建一个utf8_general_ci格式的数据库,然后导入sql压缩包文件,文件的字符集选择utf8,这样网站显示不是乱码了。
不过这个过程中浏览phpMyAdmin里的表内容,基本都是乱码的。这个是因为初始编码是latin1的缘故。下面把latin1转换为utf8。
进入phpmyadmin内一个名为libraries的子目录,编辑select_lang.lib.php,找到$mysql_charset_map这一段下方
『utf-8′ => 『utf8′, 把它改成utf-8′ => 『latin1′, 然后存档。这时候就可以发现原先的乱码这时候又都正常了。再导出,这时使用ultraedit打开sql文件,把里面的“CHARSET=latin1”替换为“CHARSET=utf8”后保存,创建一个utf8_general_ci格式的数据库,然后导入sql压缩包文件,文件的字符集依旧选择utf8,这时得到的数据库表里都正确显示中文了。但是网站却显示???,这时因为wordpress2.5之前的版本不支持utf8的缘故,解决很简单:
1. 打开 /wp-includes/wp-db.php
2. 找到 $this->select($dbname); 这一行,大概在第66行
3. 在这行代码之前加上 $this->query(”SET NAMES ‘utf8′” );
然后一切就都ok了。

最近评论