设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 2245|回复: 0

[原创] Php与Java .Net的encode的差别解决

[复制链接]
发表于 2013-10-22 10:47:50 | 显示全部楼层 |阅读模式
用Php,有做到接收Java、.Net 传过来的encode后的中文以及一些字符串。
结果发现老是不匹配。
传递字符方的用户名,居然包含特殊字符。
后来检查测试了好久,才知道是Php自带的encode与Java和.Net自带的encode,在处理特殊符号时是不同的。
解决方法是自己做调整。以下是Php函数。

//.net里的urlencode,不编码*号
function urlencodeNet($str){
    $tmp="";
    $tmp = urlencode($str);//替换%2A 或%2a为 *
    $a = array("%2A", "%28","%29","%21");
    $b = array("*", "(", ")","!");
    $tmp = str_replace($a, $b, $tmp);
    return $tmp;
}

//java里还是要encode ( )
function urlencodeJava($str){
    $tmp="";
    $tmp = urlencode($str);//替换%2A 或%2a为 *
    $a = array("%2A", "%21");
    $b = array("*", "!");
    $tmp = str_replace($a, $b, $tmp);
    return $tmp;
}


//发这个是为了赚点金币,好下载东西。

您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-20 01:40 , Processed in 0.091677 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表