在IE下,中文传值,最后一个汉字变成了乱码,导致抓不出数据。但是在火狐里面又可以。传值页面,mysql,查询,接收值页面,均是UTF-8字库这是咋回事呢?

解决方案 »

  1.   


    $T_class=$_GET['Tclass'];//这句从地址栏取值 echo $T_class;//这句打印
    IE里面“test天花板”变成了“test天花灠”火狐里面没问题。-----地址栏上还是显示:“test天花板”
      

  2.   

    把这个参数url_encode($name);一下
    接下来时再url_decode($_GET['Tclass']);
      

  3.   

    因为firefox自动识别了编码。在最后输出的页面指定一下编码
    header("Content-type: text/html; charset=utf-8"); 
      

  4.   


    报错:
    Fatal error: Call to undefined function url_decode() in showClass.php on line 27这一行的内容是:  $T_class=url_decode($_GET['Tclass']);
      

  5.   

    文件编码与浏览器编码都设为utf-8编码再试
      

  6.   

    //a.php 
    <a href="b.php?Tclass=<?php echo urlencode('test天花板');?>">aaaa</a>//b.php
    $T_class=$_GET['Tclass'];
     echo urldecode($T_class);  //test天花板
      

  7.   


    这个编码在引用文件里已经指定了。重新指定一次,就报错了:
    Warning: Cannot modify header information - headers already sent by (output started at D:\setup\xampp\htdocs\cn\require\head.php:86)
      

  8.   


    引用文件要全站调用的,header.php,也就是第一头部,相当于是所有输出之前声明编码
      

  9.   


    应该是这个,但是,我的传值页面的链接语法又出问题了:
      echo "<li> <a href='showClass.php?pclass=url_encode({$row[$T]})'>";//这行url_encode不起作用,直接当字符串出现在地址栏了
      echo "$row[$i]";
      echo "</a> </li>";
      

  10.   

    echo "<li> <a href='showClass.php?pclass=".urlencode($row[$T])."'>";
      

  11.   

    1.引号内包含的表达式不会被解析。
    echo "<li> <a href='showClass.php?pclass=". url_encode($row[$T])."'>";
    2.是urlencode(), urldecode() 没有下划线。(许多人因此指责PHP的函数命名没有章法)