要从某个站A内的UTF8编码的页面内加一个链接,跳到GBK编码的serch.aspx?s=***内,乱码,于是写了个中间跳转
<?php $key= mb_convert_encoding("$_GET[s]", "GB2312", "GB2312");
$mb=mb_detect_encoding($key); $j="http://search.360buy.com/Search?keyword=".urlencode($key);Header("Location:$j");
?>
但是奇怪的是,从GBK编码的页面跳转过去的就可以,从UTF8页面跳转过去的就不可以,难道URL本身还有格式 ?
求高人指点了  

解决方案 »

  1.   

    我做了个实验,给你:<a href="gbk.php?key=<?php echo urlencode('中国');?>">sdfsf</a>
    gbk.php代码 :<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body>
    <?php
    $key=$_GET['key'];$last=mb_convert_encoding($key, "gb2312", "utf-8");     echo $last;
    ?>
    </body>
    </html>
    结果不是乱码是:中国不知道对楼主有没有帮助。
      

  2.   


    谢谢,引用是没有问题,但是跳转就会有问题,从GBK页面链接出来跳到GBK(因为最终搜索页面是GBK)没有问题,但是从UTF8跳出来就有问题了  
    再次感谢  
      

  3.   

    解决了,用 
    iconv("UTF-8","gb2312",$key);
    解决