%E5%93%88%E5%93%88如何把这个编码还原成中文啊?原文是:哈哈!

解决方案 »

  1.   

    你把页面有编码改成
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />或
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />看一下行不行
      

  2.   

    不好意思,我不没有做网站开发,
    是这样的,比如:我有一个表单,我输入了中文,在进行提示交时,自动进行编码,有点像是在baidu里输入中文进行搜索一样,转换了,我现在需要进行还原。不知道php有没有这样的函数。
      

  3.   

     function GetGB2312String($name)
     {
      $tostr = "";
      for($i=0;$i<strlen($name);$i++)
      {
       $curbin = ord(substr($name,$i,1));
       if($curbin < 0x80)
       {
        $tostr .= substr($name,$i,1);
       }elseif($curbin < bindec("11000000")){
        $str = substr($name,$i,1);
        $tostr .= "&#".ord($str).";";
       }elseif($curbin < bindec("11100000")){
        $str = substr($name,$i,2);
        $tostr .= "&#".GetUnicodeChar($str).";";
        $i += 1;
       }elseif($curbin < bindec("11110000")){
        $str = substr($name,$i,3);
        $gstr= iconv("UTF-8","GB2312",$str);
        if(!$gstr)
        {
         $tostr .= "&#".GetUnicodeChar($str).";";
        }else{
         $tostr .= $gstr;
        }
        
        $i += 2;
       }elseif($curbin < bindec("11111000")){
        $str = substr($name,$i,4);
        $tostr .= "&#".GetUnicodeChar($str).";";
        
        $i += 3;
       }elseif($curbin < bindec("11111100")){
        $str = substr($name,$i,5);
        $tostr .= "&#".GetUnicodeChar($str).";";
        
        $i += 4;
       }else{
        $str = substr($name,$i,6);
        $tostr .= "&#".GetUnicodeChar($str).";";
        
        $i += 5;
       }
      }
      
      return $tostr;
     }
     
     function GetUnicodeChar($str)
     {
      $temp = "";
      for($i=0;$i<strlen($str);$i++)
      {
       $x = decbin(ord(substr($str,$i,1)));
       if($i == 0)
       {
        $s = strlen($str)+1;
        $temp .= substr($x,$s,8-$s);
       }else{
        $temp .= substr($x,2,6);
       }
      }
      
      return bindec($temp);
     }
      

  4.   

    楼上的,不对吧。
    echo GetGB2312String("%E5%BC%A0%E5%BC%BA");不能还原成汉字啊。
      

  5.   

    <?php
    echo urldecode("%E5%93%88%E5%93%88"); 
    echo "<br>";
    echo rawurldecode("%E5%93%88%E5%93%88");
    ?>
    你再看一下
      

  6.   

    //转成unicode就可以忽略文件编码了
    $str = '%E5%93%88%E5%93%88'; 
    echo preg_replace('/((%[a-eA-E0-9]{2}){3})/e',"foo('\\1')",$str);
    function foo($encode)
    {
    //3字节utf8转unicode....
    $str = '';
    $v = explode('%',ltrim($encode,'%'));
    $b  = ((hexdec($v[0]) & 0x1f) << 12 )
    + ((hexdec($v[1]) & 0x3f) << 6)   
    + ((hexdec($v[2]) & 0x3f));       
    $str.= '&#'.$b;
    return $str;
    }
      

  7.   

    很有可能是你设meta的编码和我们设的不一样,你看一下的几组代码吧,如果还不行,我也帮不了你了<script>
    document.write(escape("哈哈")+"<br>");
    document.write(unescape("%u54C8%u54C8")+"<br>");
    document.write(encodeURIComponent("哈哈")+"<br>");
    document.write(decodeURIComponent("%E5%93%88%E5%93%88")+"<br>");
    </script>
    <?php
    echo urldecode("%E5%93%88%E5%93%88"); 
    echo "<br>";
    echo rawurldecode("%E5%93%88%E5%93%88");
    echo "<br />";
    echo utf8_decode("%E5%93%88%E5%93%88");
    ?>
      

  8.   

    比如URL发送一个get数据,如
    aa.php?str=%20%B1%E0%C2%EB%CE%CA%CC%E2
    在get回来之后
    php是不会变加中文的
    请问如何把他变为中文呢
      

  9.   

    你为什么不用post来传送数据,那样就不会有数据转换的问题了
      

  10.   

    我是准备用wap编程,遇到这个问题的,原型代码:<?php 
    header("Content-Type: text/vnd.wap.wml;charset=gb2312");
    echo '<?xml version="1.0" encoding="GB2312"?>';
    echo '<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">';
    ?>
    <wml>
    <card id="main" title="PHP Web">
    <p>
    GET提交,结果:
    <?php echo iconv("utf-8", "gb2312",$_GET["name"]); ?><br/>
    <?php echo rawurldecode($_GET["name"]);?><br/>
    <?php echo urldecode($_GET["name"]);?><br/>
    POST提交,结果:
    <?php echo iconv("utf-8", "gb2312",urldecode($_POST["name"])); ?><br/><?php echo iconv("utf-8", "gb2312",addslashes(urldecode($_POST['name']))); ?><br/>
    <input name="name" emptyok="false" tabindex="2" format="*m"/>
    <a href="testgb.php?name=$(name:e)">提交aaa</a><br/>
    <anchor>提交anchor
    <go href="testgb.php" method="post">
    <postfield name="name" value="$(name:e)" />
    </go>
    </anchor><br/>
    </p>
    </card>
    </wml>
      

  11.   

    请问在html静态页中应该怎么办 呢?我的%C7%EB%CA%E4%C8%EB%CB%D1%CB%F7%C4%DA%C8%DD  中文意思是请“输入搜索内容”  但是就是不知道怎么转换