http://localhost:8080/shangjia.php?area=辽宁
就是类似这样的网址 地址栏显示的汉字是没经过编码的 那么我在shangjia.php里怎么接收呢 ?
用$_GET['area']这样有的乱码 我想应该没这么简单吧,希望各位指导下 谢谢了

解决方案 »

  1.   

    http://topic.csdn.net/u/20100104/16/4e0815cc-16a5-4792-86de-676ec938636d.html  
    我的php文件是utf-8 所以可用这个代码..如果你的不是,请稍微修改下就可以了.
      

  2.   

    所有的页面全部用一种编码比如UTF8,然后在页面获得时把得到的乱码转换一下就行了。如果还有问题。找我呀,[email protected]
      

  3.   

    用base64_encode将“辽宁”编码  接受时在用base64_decode解码
      

  4.   

    大家没看懂我的意思吧 我的意思是 我就要地址栏显示汉字的效果 增加url可读性 编码之后一堆%$^)*&^*(%^&*_+这样的 当然没啥问题啊
      

  5.   

    http://localhost:8080/shangjia.php?area=辽宁
    中文参数接收一般会乱码的,不知道这些链接是否可以处理
     http://localhost:8080/shangjia.php?area= urlencode('辽宁');
    urldecode($_GET['area']);  这样是不会乱码的.如果链接不做处理,就不清楚怎么搞了.
      

  6.   

    你 
    echo $_GET['area'];
    都得到了什么?中文操作系统中,在浏览器地址栏输入的汉字都是 gbk 编码的
    如果你的页面时utf-8的,就需要转码,否则输出的就是乱码
      

  7.   

    不太明白
    学习了
    老大的意思是不是这个:
    如果在地址栏中输入中文,变成请求串时,编码是gbk.
    如果这个请求不是在地址栏输入的,如是文件中链接,则是页面的编码?这个请求到了服务器那边?服务器如何解析编码?
      

  8.   

    utf-8下,Firefox显示为中文,IE会自动转码,都要用 urlencode函数
      

  9.   

    地址栏参数值显示的是汉字 那后台GET方式接受的值是没有经过编码的汉字 这样是会出问题的我有个想法 楼主可以进行ajax传值来进行业务操作 完成后 跳转链接 但对这个地址栏链接的参数值都不做操作 只是为了让地址栏显示汉字的效果 
      

  10.   


    是的!
    你可以先做一个测试:
    test.php
    <?php
    print_r($_GET);
    ?>
    保存编码为ANSI(系统默认)在地址栏输入 http://localhost/test.php?a=汉 字
    回车后浏览器地址栏内容为
    http://localhost/test.php?a=汉%20字
    页面显示
    Array ( [a] => 汉 字 )将test.php另存为编码为UTF-8的
    在地址栏输入 http://localhost/test.php?a=汉 字
    回车后浏览器地址栏内容为
    http://localhost/test.php?a=汉%20字
    页面显示
    Array ( [a] => �� �� ) 于是,你可以得到以下事实:
    1、浏览器会对URL特殊字符做url编码转换
    2、服务器端的url解码不是在php中进行的
    3、传输前后的语言编码没有改变,所以后一例中出现了乱码进一步,把程序改为
    <?php
    print_r($_GET);
    echo iconv('gbk', 'utf-8', $_GET['a']);
    ?>
    于是,页面中显示
    Array ( [a] => �� �� ) 汉 字结论是:
    对于utf-8编码的页面,通过url传递的值是需要检查语言编码的
    如果不是utf-8编码,则需要做编码转换
      

  11.   

    url 里对中文进行转码urlencode() urldecode();
      

  12.   

    传的时候 $str =  base_encode('中国字');
    接收的时候 $strout = base_decode($str);
      

  13.   

    学习了,我一般就是献同意编码,然后传的时候encodeURI()一下,一般不会有问题
      

  14.   

    base64_encode()
    encodeurl()我用这两种的
      

  15.   

    http://192.168.1.103/search.php?Area=3
    Area="上海"
    我是将汉字转换成数字了,数字就不受编码的限制!至于具体的实现,看lz的需求!!!我提供思路!