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

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

概述解决中文注册的会员空间打不开问题 这个问题我也很苦恼,不过还是被解决了。大家分享下哈。 其实说到底还是个字符编码转换问题。 因为汉字没有在判断uid值时出现了错误,导致系统无法识别用户,所以发生了你访问的用户可能已经被删除!错误 方法是 在member\ 解决中文注册的会员空间打不开问题    这个问题我也很苦恼,不过还是被解决了。大家分享下哈。    其实说到底还是个字符编码转换问题。    因为汉字没有在判断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);    问题解决。 总结

以上是内存溢出为你收集整理的DEDECMS中文注册会员无法打开空间的解决方法全部内容,希望文章能够帮你解决DEDECMS中文注册会员无法打开空间的解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1016135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存