java里面
String str="%E8%81%94%E9%80%9A";//这个utf-8编码
String ss=URLDecoder.decode(str,"UTF-8"); 
System.out.println(ss);//输出的值:联通而在php里面这个怎么转换?
已经找了好多天了,一直没有找到,希望各位帮帮忙

解决方案 »

  1.   

    $url1 = '联通';
    echo rawurlencode(mb_convert_encoding($url1,'utf-8','gb2312'))."<br>";
    //输出的值%E8%81%94%E9%80%9A,但是不知道怎么弄反过来
      

  2.   

    $url1 = '联通';
    echo rawurlencode(mb_convert_encoding($url1,'utf-8','gb2312'))."<br>";
    echo iconv('utf-8','gb2312',rawurldecode('%E8%81%94%E9%80%9A'));
      

  3.   

    echo urldecode("%E8%81%94%E9%80%9A");
      

  4.   

    urldecode后,还要将UTF-8转成GB2312
      

  5.   

    // utf8 ---> unicode
    function utf8_unicode($c) {
    switch(strlen($c)) {
        case 1:
          return ord($c);
        case 2:
          $n = (ord($c[0]) & 0x3f) << 6;
          $n += ord($c[1]) & 0x3f;
          return $n;
        case 3:
          $n = (ord($c[0]) & 0x1f) << 12;
          $n += (ord($c[1]) & 0x3f) << 6;
          $n += ord($c[2]) & 0x3f;
          return $n;
        case 4:
          $n = (ord($c[0]) & 0x0f) << 18;
          $n += (ord($c[1]) & 0x3f) << 12;
          $n += (ord($c[2]) & 0x3f) << 6;
          $n += ord($c[3]) & 0x3f;
          return $n;
    }
    }//gb2312转换为unicode
    function gb2un($g)//传入gb2312字符串返回unicode码
    {
    preg_match_all("/[\x80-\xff]?./",$g,$ar);
    $str = "";
    foreach($ar[0] as $v)
    {
       $str = $str."&#".utf8_unicode(iconv("gb2312","utf-8",$v)).";";
    }
    return $str;
    }
    //unicode ---> gb2312
    function unescape($str) {
    $str = rawurldecode($str);
    preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/u",$str,$r);
    $ar = $r[0];
    //print_r($ar);
    foreach($ar as $k=>$v) {
        if(substr($v,0,2) == "%u")
          $ar[$k] = iconv("ucs-2","gb2312",pack("h4",substr($v,-4)));
        elseif(substr($v,0,3) == "&#x")
          $ar[$k] = iconv("ucs-2","gb2312",pack("h4",substr($v,3,-1)));
        elseif(substr($v,0,2) == "&#") {
    //echo substr($v,2,-1)."<br>";
          $ar[$k] = iconv("ucs-2","gb2312",pack("n",substr($v,2,-1)));
        }
    }
    return join("",$ar);
    }//unicode转换为gb2312
    function un2gb($y)//传入unicode码返回gb2312
    {
    return unescape($y);
    }我也是找的,呵呵
    大家一起学习
      

  6.   

    $url='%E8%81%94%E9%80%9A';
    $str2=iconv("UTF-8","GBK",rawurldecode(iconv("GBK","UTF-8",$url)));
    弄出来了,谢谢大家帮忙,最后还要转换成gbk的