Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

【转】一个超牛贴——DV7.0转DZ5.0 综合测试结果

[复制链接]
不言不予 发表于 2006-10-31 16:16:23 | 显示全部楼层 |阅读模式
版权:http://ud03.kinoko.name/Archive/863/

如果你转换过程中出现: 乱码,丢帖,丢用户,丢版块,错误率过高,不是错误都被程序识别为错误,DV的UBB和DZ的UBB的差异 等等等等,认真的看完这篇文章,应该对你会有帮助的.
目的 : 通过试验的方式寻找一个从DV7.0 to Discuz!5.0.0(GBK,utf-8)最好的方法
使用程序 : 动网DvBBS 7.x Access to Discuz!5.0.0 转换程序 v1.3.3

环境一: WINXP IIS PHP5.1.4 MySQL5.0.24
DV7.0 ACC数据库500M

1.重复用户名问题
重复用户名 f*****g 不能被转换,uid = 924 ;
转换报告中有这么一行,我觉得好奇怪,原来的DV数据库是如何有两个一模一样的会员ID捏?是DZ的转换程序搞错了?
我打开MDB来看,我晕923,924,都是f*****g这个会员.
两个ID的注册时间均为:2003-11-24 10:32:36
923 最后登陆时间:2004-6-28 16:33:31
924 最后登陆时间:2003-11-24 10:55:18
ID924 是一个死帐号.不会影响最终转换结果的正确性,因为这个ID本来就是多余的,^_^
很显然DZ的转换程序转出来的结果是没有错的.
那是谁的错捏?IIS?MDB?ASP?DV?应该是其中的一个吧,iis嫌疑更大.

2.DZ5(GBK) VS DZ5(UTF8)

DZ5(GBK) 转换报告如下:
转换会员数据 失败 61 条,成功率:99.92744487%
转换主题与投票数据 失败 24 条,成功率:99.9350385708%
转换帖子数据 失败 337 条,成功率:99.9420524108%
转换短消息数据 失败 8 条,成功率:99.9873493785%

DZ5(UTF8) 转换报告如下:
转换会员数据 失败 63 条,成功率:99.9250660133%
主要错误是因为"非法用户名",其次是"重复用户名",也有几个用户名长度超过15的.
转换主题与投票数据 失败 24 条,成功率:99.9350385708%
转换帖子数据 失败 337 条,成功率:99.9420524108%
转换短消息数据 失败 8 条,成功率:99.9873146753%
提示错误是:"错误 1064:可能原因:1.数据超长或类型不匹配;2.数据库记录重复。"
个人分析主要原因是因为文字中含有"\"这个符号,因为这个符号我在sql语句中从来没有用到过,哈哈哈
适乎以比较僻的字,结尾,都会出现被莫名的加上一个"\"
例如:在MDB中是"簽名大集錦",最后生成的SQL则是"簽名大集錦\"
测试结果表明:
在MySQL5.0.24 的环境下.
转换为GBK的出错率会小一些

环境二:MySQL4.1.21 DZ5(GBK) 转换报告如下:
转换会员数据 失败 61 条,成功率:99.92744487%
转换主题与投票数据 失败 24 条,成功率:99.9350385708%
转换帖子数据 失败 337 条,成功率:99.9420524108%
转换短消息数据 失败 8 条,成功率:99.9873493785%

DZ5(UTF8) 转换报告如下:
转换会员数据 失败 63 条,成功率:99.9250660133%
转换主题与投票数据 失败 24 条,成功率:99.9350385708%
转换帖子数据 失败 337 条,成功率:99.9420524108%
转换短消息数据 失败 8 条,成功率:99.9873146753%

环境三:MySQL4.0.27 DZ5(GBK) 转换报告如下:转换会员数据 失败 464 条,成功率:99.4481052406%

DZ5(UTF8) 转换报告如下:
转换会员数据 失败 464 条,成功率:99.4481052406%
4.0.27这个版本,虽然说只有会员数据出错,但是出错率太高了,没有重复的用户名也被识别为重复的用户名了.可以说是根本不正确的.

Mysql-5.0.24Mysql-4.1.21Mysql-4.0.27
GBKUTF-8GBKUTF-8GBKUTF-8
转换会员数据失败数616361 63464 464
转换主题与投票数据失败数242424 2400
转换帖子数据失败数337337337 33700
转换短消息数据失败数888 800
转换后数据大小292.5355.3281.2344.0242.4242.4
转换后显示出来的结果正常正常正常正常正常乱码


其他发现:
GBK转换报告中,有2个提示重复用户名的在UTF-8转换报中没有出现提示.
UTF-8转换报告中,有4个提示重复用户名的在GBK转换报中没有出现提示.
这六个用户名已查证,在MDB数据库中都不是重复的用户名.
由此看出转换程序并完善,再有必要的情况下,最好手动检查一下:报错的数据是否真实.
当然不真实的就自己手动添加上去了,哈哈哈
mysql4.0 + DZ(GBK)是一个最不好的搭配,为什么怎么说捏?看看这副图你就会明白了.
mysql.jpg
所以为什么会有464个会员名字不能转换了,当然这不是DZ的错,^_^

转换技巧:
1.登陆DV的后台在 上传头像管理 ,上传文件管理 中清理多余的上传文件
2.因为DZ只支持3级分类,转换前先对论坛的4级分类做一些处理,比如说新建一个4级分类的版块出来,移动全部4级分类版块过去,以此类推.(如果DV的程序移动帖子有问题,那么你只能在转换后用DZ来一个一个版块复位了)
3.DZ的主分类,也就是第一分类,不允许有帖子,所以,你要新建一个版块,在该主分类下面,然后后转移帖子到新建的版块下.(如果DV的程序移动帖子有问题,也不要要紧,帖子都还是真实存在于mysql中的,想办法把它移动出来就可以了.)
不管你是合并,还是移动,还是新建版块的方式.总之就是想尽一切办法在还没有转换之前,就把论坛调整成 一级分类没有帖子,不存在四级版块.
4.转换程序中的$discuz_charset = 'gbk'; 这个值,最好不要修改,保持为gbk,不然会遇到N多的错误和乱码.

最终我使用的转换方法如下:
1.用mysql4.0 ,新建一个空DZ5(GBK)论坛bb1
2.在bbs1,转好一个全部数据,登陆后台备份(全部数据,建表语句格式MySQL 4.1.x/5.x)得到数据A.
3.用mysql5.0 ,新建一个空DZ5(GBK)论坛bb2
4.在bbs2的后台,导入数据A
5.在bbs2中再次使用转换程序,只转换会员数据,这样就做好一个DZ5 (GBK,Mysql5.0)的转换了.
6.最后在转换结果报表中添加一些你认为不是非法用户名的用户(如果你使用GBK的话,到此就可以结束了)
7.将bbs2备份,强制utf8,这样就生成了数据C
8.用mysql5.0 ,新建一个空DZ5(UTF-8)论坛bb3
9.将刚刚备份好的数据C导入bb3. 最终得到一个错误率最低的 DZ5 (UTF-8,Mysql5.0)

我修改的转换程序
我自己对转换程序进行的修改,更加人性化一些.
出错会员进行分析
01.jpg
避开输出的html
02.jpg
一些常用的DV UBB代码进行了替换
03.jpg
动网DvBBS 7.x Access to Discuz!5.0.0 转换程序 v1.3.3_特别版本.zip(2006-09-07更新修正了威望和金钱的小小小错误)

对现有转换程序的意见:
report.htm这一个显示的结果太多,如果错误率比较高的话,那这个文件就太大了,在IE显示报告都会比较慢
可以考虑分页显示report_01.htm,report_02.htm,report_03.htm,report_04.htm.........
dvbbs这文件夹应该写成变量.这样可以给用户更好的DIY比如叫oldbbs,bbs01什么的.
呵呵,因为我不想让别人知道我以前用过什么论坛程序.
9月07更新的代码是这个,官方可以see一下,我的坛子转好以后发现 DV的威望变成金钱,金钱变成威望了。
如果已经转好的朋友可以用phpmyadmin改字段名就解决了。
$extcredits4    = $user['userep'];        //经验值
            
$extcredits1    = $user['userpower'];        //威望
            
$extcredits2    = $user['userwealth'];        //金钱
            
$extcredits3    = $user['usercp'];        //魅力

偷懒,我自己就不写,留给DZ的开发人员搞定吧,哈哈哈哈

[ 本帖最后由 不言不予 于 2006-10-31 16:49 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

lzhdm 发表于 2006-10-31 18:13:18 | 显示全部楼层
很强地说
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-8-23 13:56 , Processed in 0.120199 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表