我在PHP中进行url传参,出现接受页面出现了下面奇怪的问题,如:
page.php?keyword=经      (会有乱码) 
page.php?keywrod=经理    (正常) 
page.php?keyword=经理岗  (会有乱码) 
page.php?keyword=经理岗位 (正常) 这是怎么回事啊,搞了好久都没弄出来,真郁闷啊,请大侠们帮帮忙啊,本人现急用啊,

解决方案 »

  1.   

    编码问题,传参数的时候可以先对url进行一下编码,比如$keyword = "经理岗";
    $url = "page.php?keyword=".urlencode($keyword);
      

  2.   

    urlencode,序列化之后,再传值。
      

  3.   

    urlencode
    (PHP 3, PHP 4, PHP 5)urlencode -- 编码 URL 字符串
    描述
    string urlencode ( string str )
    返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页: 
      

  4.   

    编码问题
    地址栏是以gb2312提交的
    如果php文件是utf8就会出现乱码
    除了楼上方法,也可以把php文件改成gb2312
      

  5.   

    兄弟,我是厦门维派;你这里有需要域名空间,企业邮局或者是服务器带宽租用的吗,50M独享,或者百独,G口;或者如果你有不少空间需求的话,可以考虑代理,搞点外快。目前我们也在招收代理,利润可以是4.5折  。 
    需要的朋友,可以直接联系我 
    QQ  908267931  张先生    
    MSN:[email protected] 
    邮箱:[email protected]
      

  6.   

    你可以先把需要传递的内容使用自定义的加密函数加密一下再传递,然后传递完接收之后再解密回原来的内容就行了,这就不存在编码问题了.
    我记得这个加密解密的函数在discuz的程序里边有,你可以找找看
      

  7.   

    我测试了一下,发现可以直接传递中文,我的做法是:
    1,用editplus新建php文件,保存的时候文件编码一定要选择utf8
    2,该php的文件头也要设置为utf8,即
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    这样在地址栏传参数的时候就可以是中文不乱码了.