网站风格: 红 | 蓝
搜索:  全站?
首页 |  Java开发 |  DOTNET开发 |  PHP开发 |  ASP技术 |  Web开发 |  数据库应用 |  网络文摘 |  作品集 |  下载 |  留言
文章聚合
  J2EE  |   框架技术  |   Javascript  |   AJAX  |   J2ee Server  |   J2ME  |
  WinForm开发  |   Asp.net  |   C#语言  |   服务器  |   第三方控件  |
  PHP笔记  |   Linux  |   第三方代码  |
  ASP教程  |   ASP实用代码  |   ASP笔记  |   服务器  |
  CSS样式表  |   Photoshop设计  |   Flash  |   HTML 小技巧  |   Dreamweaver  |   XML技术  |
  SQL Server  |   Oracle  |   MySQL  |
  散文  |   幽默  |   杂文  |
  Web 项目  |   杂七杂八  |
  第三方代码  |   实用工具  |   作品下载  |   帮助文档  |
奇点网 - PHP开发 - 第三方代码 - PHP中对于AJAX请求乱码的处理函数
PHP中对于AJAX请求乱码的处理函数
来源:http://www.7dit.com     作者:7dit     发布日期:2008-11-13 15:47:43   点击量:96
php如何直接解码javascript中的escape函数加码后的内容?
使用:
$result 
= uniDecode($str,'gb2312'
);
代码:
function uniDecode($str,$charcode=""
) {
  
$text = preg_replace_callback("/%u[0-9A-Za-z]{4}/","toUtf8",$str
);
  if (empty(
$charcode
)) {
    return 
$text
;
  } else {
    return 
mb_convert_encoding($text, $charcode, 'utf-8'
);
  }
}
function 
toUtf8($ar
) {
  
$c = ""
;
  foreach(
$ar as $val
) {
    
$val = intval(substr($val,2),16
);
    if (
$val < 0x7F){ 
// 0000-007F
      
$c .= chr($val
);
    } elseif (
$val < 0x800) { 
// 0080-0800
      
$c .= chr(0xC0 | ($val / 64
));
      
$c .= chr(0x80 | ($val % 64
));
    } else { 
// 0800-FFFF
      
$c .= chr(0xE0 | (($val / 64) / 64
));
      
$c .= chr(0x80 | (($val / 64) % 64
));
      
$c .= chr(0x80 | ($val % 64
));
    }
  }
  return 
$c
;
}
--------------------
code2
:
function 
unescape($str
) {
  
$str = rawurldecode($str
);
  
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r
);
  
$ar = $r[0
];
  foreach(
$ar as $k=>$v
) {
    if(
substr($v,0,2) == "%u"
)
      
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4
)));
    elseif(
substr($v,0,3) == "&#x"
)
      
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1
)));
    elseif(
substr($v,0,2) == "&#"
) {
      
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1
)));
    }
  }
  return 
join("",$ar
);
}

标签:   php  |  代码  |  乱码  |
留言 | 链接 | 标签 | 风格: 红 蓝   
Copyright © 2005 奇点中文网--7dit.com
闽ICP备05001292号