欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 织梦教程 > DEDECMS中文注册会员无法打开空间的解决方法

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:511

HTML5自适应律师工作室类网

2020-04-04   浏览:505

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

DEDECMS中文注册会员无法打开空间的解决方法

发布时间:2020-03-08  

解决中文注册的会员空间打不开问题 

 

这个问题我也很苦恼,不过还是被解决了。大家分享下哈。 

 

其实说到底还是个字符编码转换问题。 

 

因为汉字没有在判断uid值时出现了错误,导致系统无法识别用户,所以发生了“你访问的用户可能已经被删除!”错误 

 

方法是 

在“member\config.php”文件的最后,PHP结束之前添加 isUTF8($str)函数 

 

function isUTF8($str){ 

$length=strlen($str); 

for($i=0;$i<$length;$i++){ 

$high=ord($str{$i}); 

if(($high==0xC0)||($high==0xC1)){ 

return false; 

}elseif($high<0x80){ 

continue; 

}elseif($high<0xC0){ 

return false; 

}elseif($high<0xE0){ 

if(++$i>=$length) 

return true; 

elseif(($str{$i}&"\xC0")=="\x80") 

continue; 

}elseif($high<0xF0){ 

if(++$i>=$length){ 

return true; 

}elseif(($str{$i}&"\xC0")=="\x80"){ 

if(++$i>=$length) 

return true; 

elseif(($str{$i}&"\xC0")=="\x80") 

continue; 

}elseif($high<0xF5){ 

if(++$i>=$length){ 

return true; 

}elseif(($str{$i}&"\xC0")=="\x80"){ 

if(++$i>=$length){ 

return true; 

}elseif(($str{$i}&"\xC0")=="\x80"){ 

if(++$i>=$length) 

return true; 

elseif(($str{$i}&"\xC0")=="\x80") 

continue; 

return false; 

return true; 

 

然后修改“member\index.php”中的代码:将 

$tmpstr = @gb2utf8($uid); 

$tmpstr2 = @utf82gb($tmpstr); 

if($tmpstr2==$uid) $uid = $tmpstr; 

修改为 

if(!isUTF8($uid)) $uid = @gb2utf8($uid);