欢迎访问融科网络!我们专注于郑州网站建设郑州网站制作郑州网站设计郑州做网站等相关服务!
营销之道 干货分享
了解企业新动态,分享前沿的营销推广干货,成长路上,我们携手同行

编程代码

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

标签: 作者:融科网络 | 点击:
15

Sep
2019

导语
解决中文注册的会员空间打不开问题 这个问题我也很苦恼,不过还是被解决了。大家分享下哈。 其实说到底还是个字
 

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

 

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

 

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

 

因为汉字没有在判断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); 

郑州融科网络专注于企业网站建设、网站制作、高端网站设计,郑州荥阳、上街做网站就找融科网络!
本文章网址:http://www.ppssdd.com/code/3705.html。转载请保留出处,谢谢合作!

全网(营销型+响应式)专业定制

快速搭建高询盘+营销独立站

微信扫一扫 添加微信

推荐分享,免费SEO诊断

扫码加好友,即送价值1880元的SEO优化教程

(网站没排名,轻松让关键词上首页!专注H5企业建站+网站优化推广)

上一篇:dedecms允许游客输入昵称评论的修改办法

下一篇:Ded帝国CMS v5.6会员中心自定义字段错位的问题

  • 网站建设咨询
  • 网站建设案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 151-3895-5886
  • 品牌网站建设定制
  • 营销型网站建设定制