dede中访问用户博客空间有时出现“你访问的用户可能已经被删除”,但是用户通过自己的登陆界面进入后,点击“我的空间”却能正常访问。
仔细注意一下登陆成功后IE状态栏的空间连接地址,在看一下首页调用会员空间的连接地址,这就能看出问题的所在了,第一个连接是编码为UTF8的,而第二个连接则直接是以中文方式发送编码的。
由此我们可以为这个地址加上转码函数即可。在dede程序内部有UTF-8转码函数urlencode。所以我们将参数编码即可。
接下来我们修改include\taglib\memberlist.lib.php这个文件
这句话里的第33行
$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.$row['userid'];
改为:
$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.urlencode($row['userid']);
这句话$row['userid']加上urlencode函数后。
经实践正确!