日期:2014-05-16  浏览次数:20779 次

Navicat GBK转 UTF 8 mysql
按国际惯例,先备份两个论坛的数据库(停止mysql服务 ctrl+c mysql的DATA目录 然后ctrl+v就行了)!

举例将UTF-8论坛的数据转到gbk论坛(gbk转utf-8只要反向操作即可)

这里用到的工具有navicat 和 emeditor

先用navicat打开UTF8的数据库 选择转存SQL文件


然后用emeditor打开转存的SQL文件

将所有
CHARSET=utf8;
复制代码
替换为
CHARSET=gbk;
复制代码



另存为utf-8,(为什么另存为UTF-8,主要是为了防止丢失特殊字符)




使用navicat打开gbk的数据库,ctrl+a全选所有表,右键->清空表




右键点击数据库,点运行批次任务文件,选择转存的SQL文件,选择utf8编码,选中错误继续








有1175个错误,



不要紧,查看错误内容后可以发现141万帖子中有三十多个帖子出错没有转换过来,这些帖子都是采集来的里面充斥着大量的html代码和ASCII字符,就算能转换过来也是一些垃圾帖子
如果你的错误太多,你可以用7楼附件中的mysql导入工具用mysql.exe自带的导入函数来进行导入工作


用navicat 打开表 cdb_uc_applications 修改 charset和dbcharset字段的内容为gbk



清理缓存,转换完成!


其他内容(别丢了):
uc_server\data\avatar(用户头像)
bbs\attachments(论坛附件)
home\attachment(家园附件)

关于utf-8数据转换到gbk之后出现的分类消失问题解决(gbk转utf8则反向操作) http://www.discuz.net/redirect.php?goto=findpost&ptid=1514193&pid=12732799