MySQL4.1+版本的论坛数据升级后可能会出现乱码(如果以前的数据为非GBK、BIG5、UTF-8字符外)。
以下操作涉及到拥有主机权限。
假设当前操作的数据库名为:database
如果可以对其降级就进行降级处理:
1.导出4.0格式的SQL备份文件,可以使用类似此命令- mysqldump -uroot -p --compatible=mysql40 --skip-opt --default-character-set=latin1 --set-charset=gbk database > xxx.sql
复制代码 请将以上的latin1对应更换为此数据库表内的对应字符集,一般来说,绝大多数人都使用此字符集,不过最好建议使用phpmyadmin查看一下。这样就导出了4.0结构的数据备份。
2.卸载MySQL4.1,然后安装mysql4.0,将上面导出的文件导入到数据库中即可。
如果客户一定选择使用mysql4.1版本:
1.导出4.0格式的SQL备份文件,可以使用类似此命令- mysqldump -uroot -p --compatible=mysql40 --skip-opt --default-character-set=latin1 --set-charset=gbk database > xxx.sql
复制代码 请将以上的latin1对应更换为此数据库表内的对应字符集,一般来说,绝大多数人都使用此字符集,不过最好建议使用phpmyadmin查看一下。这样就导出了4.0结构的数据备份。
2.使用下面语句新建一个GBK字符集的数据库(mmmm):- CREATE DATABASE `mmmm` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
复制代码
3.将上面导出的4.0结构的备份数据导入到刚才新建的mmmm数据库中。
这样所有的表文件数据都是GBK的了。以后涉及到升级也不会出现乱码的问题了。
就实际而言有很多方法进行,不过个人认为这样操作比较安全一些,不会到老数据有什么损害,不能升级就拉倒,哈哈
当然,也并不是所有人都是GBK,其他字符集(Big5、UTF-8)对应设置即可。 |