我一般是这这样写的<?
    $mc=$_GET['mc'];
    ....?>

解决方案 »

  1.   

    这样写跟$_REQUEST没什么区别呀,我都试过,还是同样的错误!
      

  2.   

    这好象是apache2.*的bug,或许需要配置apache
    你可以用urlencode来传递get方式的参数,否则有中文就会报错
      

  3.   

    这个参数是直接赋给那个变量的,不需要传递,直接获得,不存在urlencode那一步操作
      

  4.   

    $_REQUEST数组是把$_GET、$_POST、$_COOKIE三个数组合并再一起,所以他们调用变量性质是一样的。估计是传参的编码问题,可能你传的是GB2312,它接收需要的是UTF-8,好像比较不好处理,建议不要直接传值,建议使用网页提交,或者使用urlencode处理后传参。
      

  5.   

    apache的问题,你传值的时候先urldecode吧
      

  6.   

    楼上正确
    这么老的问题...汉字必须urldecode()
    apache1没问题,linux下也没问题
      

  7.   

    这是apache2的bug吗?
    我看了一下error.log里面的日志,发现有如下错误:
    [Wed Oct 19 13:56:20 2005] [error] [client 127.0.0.1] (22)Invalid argument: couldn't create child process: 22: php.exe
    [Wed Oct 19 13:56:20 2005] [error] [client 127.0.0.1] (22)Invalid argument: couldn't spawn child process: C:/Program Files/Apache Group/php/php.exe但是又必须这样直接传值,哪位大虾能给指导一下应该怎么办?
      

  8.   

    .../test.php?mc=<?=urlencode('公司');?>
      

  9.   

    调整一下apache的设置吧,默认的西欧编码是不能接收未编码的中文的~~~
      

  10.   

    麻烦楼上的指点一下如何调整apache的设置?
      

  11.   

    .../test.php?mc='公司'    //不用引号吧
      

  12.   

    http://www.lslnet.com/linux/docs/linux-3893.htm
    在Debian上配置Apache+MySQL+PHP4有详细的如何设置编码的介绍~·
      

  13.   

    是apache版本的问题,以前版本是支持汉字传递的,新版本的就不知为啥不支持啦.