一直以来 MySQL 下不同的编码都困扰着大家,经常在使用过程中出现乱码的现象,有的则需要对已经存在数据的论坛进行编码转换,下面我们就介绍如何利用 Discuz! 论坛后台的备份恢复功能来对数据库的编码进行转换。
利用论坛后台的备份恢复功能进行编码转换主要是利用了 MySQL 数据库的编码机制来实现的,关于 MySQL 编码机制可以参考:MySQL编码机制。
在了解了 MySQL 编码机制的基础上,我们在详细说下论坛后台的备份恢复,Discuz! 论坛备份的数据可以是16进制的数据,由于英文字符和数字在任何编码下的代码都是相同的,也就是说英文字符和数字没有编码的问题,什么编码下都能显示正常和正常识别。所以我们把数据库中的数据备份成16进制编码的数据(全部是英文字符和数字)就保证了数据的完整和一致,保存的过程中不存在编码问题。
举例说明从 GBK 编码的论坛转换成 UTF8 编码的论坛:
1、首先上传一个UTF8编码的对应版本的 Discuz! 论坛,对照 GBK 论坛的 config.inc.php 文件,编辑 UTF8 论坛的 config.inc.php 文件,把其中的数据库配置信息配置为连接待转码的 GBK 论坛的数据库,并且把其中的连个参数这样设定:
$dbcharset='utf8';
$charset='utf-8';
2、登陆刚才配置好的 UTF8 论坛,进入后台进行备份,都保持默认设置即可,备份完毕后可以直接恢复数据库,恢复完毕后检查是不是论坛的数据库已经转换成 UTF8 编码的了。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛