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

 找回密码
 立即注册
搜索

[疑问] DV7到dz UTF-8版数据转换中,后台三处错误的完美解决,申请加精,多图!!!

[复制链接]
kinglex 发表于 2006-11-18 10:46:21 | 显示全部楼层 |阅读模式
DV7 Access到discuz5 UTF8数据转换完,更新缓存后,发现在后台操作时有些问题,昨晚到论坛上查了半天也没找到好的解决办法,不过现在原因已经找到,见下面第7楼,帖出来分析一下,望高手指点:

操作系统:win2003 enterprise server (或win2000 professional)


操作步骤:
1.安装php、mysql、zend、phpmyadmin等支持软件,各版本型号为(php-5.1.6-Win32、mysql-5.0.26-win32、ZendOptimizer-3.0.1-Windows-i386.exe、phpMyAdmin-2.9.0.2)
2.安装好discuz,版本为Discuz!_5.0.0_SC_UTF8
3.进入后台打discuz补丁20061028ForAll.zip
4.将dv7的access数据库转换成discuz,在本机执行restore.php,提示成功。
5.打补丁(解决附件及登录问题)
5.进入discuz后台操作一切正常
6.在discuz后台更新缓存后,发现三处错误,出错代码详见下述:
  1) 论坛管理--编辑论坛
  2) 用户管理--用户组--详情
  3) 用户管理--编辑用户--搜索用户


以下为出错代码:

*****************************************
1。论坛管理--编辑论坛
Fatal error: Cannot use string offset as an array in F:\cpForum\supesite\bbs\admin\forums.inc.php on line 742

2。用户管理--用户组--详情
Fatal error: Cannot use string offset as an array in F:\cpForum\supesite\bbs\admin\groups.inc.php on line 369

3。用户管理--编辑用户--搜索用户:
Warning: Invalid argument supplied for foreach() in F:\cpForum\supesite\bbs\admin\members.inc.php on line 544
Warning: Invalid argument supplied for foreach() in F:\cpForum\supesite\bbs\admin\members.inc.php on line 556
Warning: Invalid argument supplied for foreach() in F:\cpForum\supesite\bbs\admin\members.inc.php on line 556

[ 本帖最后由 kinglex 于 2006-11-20 03:27 编辑 ]
回复

使用道具 举报

o℃的浪漫 发表于 2006-11-18 12:34:44 | 显示全部楼层
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-18 22:43:06 | 显示全部楼层

又补充了一下,希望版主能够看到

又补充了一下,希望版主能够看到
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-18 22:46:25 | 显示全部楼层
两个相同问题与疑似解决方案,但不确定是否正确,按此操作会不会留下后遗症,官方这么长时间也不给出个明确答复

https://discuz.dismall.com/viewth ... p;extra=&page=1

https://discuz.dismall.com/thread-410631-1-1.html

昨晚一个通宵,今天一个白天,就为这一个问题,反复试验、重装,结果。。。。这么多人提到,官方都不研究一下

失望!
失望!
失望!
失望!
失望!
失望!
失望!
失望!
……

[ 本帖最后由 kinglex 于 2006-11-18 22:49 编辑 ]
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-18 23:17:51 | 显示全部楼层
up up up up
回复

使用道具 举报

JayKing 发表于 2006-11-18 23:48:13 | 显示全部楼层
php-5.1.6-Win32.zip
和IIS以及DISCUZ兼容都不是很好,建议使用PHP4.X版本
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-19 11:34:30 | 显示全部楼层
原因找到了,但是不知怎么解决。

原因是出在Discuz的版本为Discuz! 5.0.0 UTF-8 简体中文版,如果是GBK版本则不会有这个错误。

因我已经有另外一个论坛在使用UTF8了,所以不可能把新增加的这个论坛改为GBK,这样以后维护也麻烦,所以希望有人指点一下使用官方提供的“动网DvBBS 7.x Access => Discuz!5.0.0 转换程序 v1.3.4” 进行数据转换时通过什么方法能够保证Discuz! 5.0.0 UTF-8 简体中文版不出前述三个问题。


发现过程如下:

根据官方转换程序说明,对\convertinc\config.php文件进行修改,发现:

如果:$discuz_charset = 'gbk' ,则结果为:

第 1 步:转换会员数据
结果分析:共有 会员 数据 3120 条,转换成功 3120 条,失败 0 条,成功率:100%。
……

最后进入后台操作时,便有1楼所述的三个错误。

如果:$discuz_charset = 'utf8',则结果为:

第 1 步:转换会员数据
插入会员基本数据出错 uid = 9 username = 阿兰
Error 1062 : Duplicate entry '' for key 2.
错误 1062:字段值重复,入库失败。
……
结果分析:共有 会员 数据 3120 条,转换成功 1605 条,失败 1515 条,成功率:51.4423076923%。

基本上无法进行后续的工作,且若勉强完成,一样会有上述错误。


而如果使用Discuz! 5.0.0 GBK 简体中文版则没有问题,如此说来,这个转换程序不适合UTF8吗?

不知有没有使用UTF8版本转换成功过的,希望指点,谢谢,急!!!

[ 本帖最后由 kinglex 于 2006-11-19 12:20 编辑 ]
回复

使用道具 举报

pusufly 发表于 2006-11-19 20:51:15 | 显示全部楼层

我遇到了楼主同样的问题

估计是语言码的问题  希望尽快找到解决的办法
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-19 20:57:03 | 显示全部楼层

我决定把UTF-8版本全面换成GBK版了,又出新问题。。。

UTF-8换成GBK时出错,准备另开新帖讨论,看来官方认为主流还是GBK的,以后还是老实点,跟着主流走吧,省点时间多去PPN都强,不用在这里帮人测试还没人理,受气。。。。
回复

使用道具 举报

 楼主| kinglex 发表于 2006-11-20 01:54:31 | 显示全部楼层

最新情报,该问题已经完美解决,方便快捷省事。

UTF-8版本转为GBK版乱码错误解决不了,又转回研究前一个问题DV转DZ,已经找到解决办法,具体步骤及发现思路正在整理中,请稍等。。。

<见下页>

[ 本帖最后由 kinglex 于 2006-11-20 03:32 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-10 20:49 , Processed in 0.129907 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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