$some_string = "进入钓鱼场时需要";echo urldecode($some_string);$some_string = "进入钓鱼场时需要";echo urlencode($some_string);

解决方案 »

  1.   

    不要开玩笑!
    <?php
    $some_string = "&#36827;&#20837;&#38035;&#40060;&#22330;&#26102;&#38656;&#35201;";echo urldecode($some_string);$some_string = "进入钓鱼场时需要";echo urlencode($some_string);
      
    ?>
    浏览器显示
    进入钓鱼场时需要%BD%F8%C8%EB%B5%F6%D3%E3%B3%A1%CA%B1%D0%E8%D2%AA 
    源文件是
    &#36827;&#20837;&#38035;&#40060;&#22330;&#26102;&#38656;&#35201;%BD%F8%C8%EB%B5%F6%D3%E3%B3%A1%CA%B1%D0%E8%D2%AA
      

  2.   

    多谢。。多谢。
    mb_convert_encoding  这个函数是在Php4以后才有的吗?
      

  3.   

    可以这么写
    <?php
    $some_string = "&#36827;&#20837;&#38035;&#40060;&#22330;&#26102;&#38656;&#35201;";echo unescape($some_string);$some_string = "进入钓鱼场时需要";echo escape($some_string);
      /** 等价于js的escape函数 **/
    function escape($str,$ch='&#') {
    preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
    $ar = $r[0];
    foreach($ar as $k=>$v) {
    if(ord($v[0]) < 128)
    $ar[$k] = rawurlencode($v);
    else
    switch($ch) {
    case '&#':
    $ar[$k] = '&#'.hexdec(bin2hex(iconv("GB2312","UCS-2",$v))).';';
    break;
    case '&#x':
    $ar[$k] = '&#xu'.bin2hex(iconv("GB2312","UCS-2",$v)).';';
    break;
    case '%u':
    $ar[$k] = '%u'.bin2hex(iconv("GB2312","UCS-2",$v));
    break;
    }
    }
    return join("",$ar);
    }/** 等价于js的unescape函数 **/
    function unescape($str) {
    /** 回调函数 **/
    function unescape_callback($r) {
    if($r[1] || $r[2])
    return iconv("UCS-2","GB2312",pack("H4",$r[1].$r[2]));
    if($r[3])
    return iconv("UCS-2","GB2312",pack("n",$r[3]));
    return $r[0];
    }
    $str = rawurldecode($str);
    return preg_replace_callback("/%u(.{4})|&#x(.{4});|&#(\d+);|.+/",'unescape_callback',$str);
    }
    ?>