完美解决boblog转emlog后的乱码问题

懒小爱  发布于2011/10/6 21:36   网站经验    标签: 博客 程序 乱码 数据库 boblog emlog   
点击在新窗口中浏览此图片

  这次不算太辛苦,没怎么折腾,找到病症后,对症下药疗效显著!

  我是在emlog官方论坛下的转换工具,小巧方便,支持boblog2.1转换到emlog4.1。在本地测试,转换后发现日志内容,评论,留言甚至tag等都是乱码,而且貌似是西欧字符那种乱码。到mysql里看了下数据表,发现emlog数据表里的中文数据内容全是乱码,无论我把编码换成GBK也好UTF8也好,都无效果,所以我想着应该转换过来前就不是正常简体中文字了。然后我注意到boblog的字符集编码竟然是latin1_swedish_ci,再一看果然boblog数据表里的中文内容也都是乱码,可boblog程序上显示的中文字都正常,这点表示很奇怪。

  之后突然想起来boblog在安装时会有一个提示"字符集与整理",我以前都是选择“使用服务器默认的设置”,竟然从未发觉我的boblog数据表编码原来一直是latin1。其实这里最好选择“强制服务器用UTF-8存取数据”,因为很多时候个人博客使用的海外主机,数据库默认是Latin1字符集,不支持中文。虽然我不明白为什么选择前一项默认的以后,事实在数据库里都已是乱码,但在博客程序中看起来中文显示一切正常,数据的备份和导入,还有各项运行都正常,不过选择各程序都比较通用的UTF-8的话应该不会错。

  问题找到了,解决方法也非常简单:重新安装一遍boblog,这里务必选择UTF-8编码,然后导入之前备份的数据,现在再检查一下数据表里的内容,应该看到显示的都是正常的简体中文了,然后运行emlog的转换工具,更新一遍缓存,乱码完美解决!归纳一条就是,两个博客的数据表字符集编码要一定要一致,我没弄错的话emlog默认编码应该也是UTF-8吧,那么boblog的编码也要是UTF-8。

  为保险起见,如果之前安装boblog时使用了服务器默认的其他编码,建议另外再重新安装一个新的boblog,比如本地转换,比如换个新空间新数据库等。安装时记得选择强制UTF-8,然后备份旧的boblog里的数据再导入到新的boblog里,再用emlog转换,就OK了。
本文已有评论 1 条,检测到共有 646 人飘过...↓快速评论↓

1楼
爱惜
在 2011-10-11 12:10 鸡冻的表示:
为神马不来wordpress?
发表回复: