本帖最后由 xuzuning 于 2011-04-19 06:44:04 编辑

解决方案 »

  1.   

    php的文件保存格式是不是utf-8
      

  2.   

    同楼上
    head4.php如果不是utf8格式的话你干脆用gbk得了
      

  3.   

    将charset=utf-8"> 改成gb2312
    然后不行 在gbk
      

  4.   


    <HTML><HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="zh-CN" />
    </head>
    <body>
    <?php
    $q=$_GET['q'];
    var_dump($q);
    if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) {
    echo iconv("gb2312","utf-8//IGNORE",$q);
    }
    echo $q;
    ?>
    </body>
    </html>
      

  5.   

    文件的格式是utf-8,上面的图片不知道为啥没有了,重新发一张hnxxwyq的方法行是行,可是IE下又有新的问题诞生了。
      

  6.   

    GBK和UTF-8的URLENCODE编码应该还是有区别的!
    utf-8的中国人为:%E4%B8%AD%E5%9B%BD%E4%BA%BA
    而GBK的是%D6%D0%B9%FA%C8%CB
      

  7.   

    可尝试使用这个函数
    if(! function_exists('strconv')):
    /**
     * 函数 strconv
     * 功能 将 未知编码的内容转换成 utf-8 的
     **/
    function strconv($s) {
      $codepage = mb_detect_encoding($s, array('ASCII','UTF-8','GB2312','GBK','BIG-5'));
      return iconv($codepage, 'utf-8', $s);
    }
    endif;
      

  8.   


    你可以仅仅输出一种提示吗?<HTML><HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="zh-CN" />
    </head>
    <body>
    <?php
    $q=$_GET['q'];if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$q)) {
    $q = iconv("gb2312","utf-8//IGNORE",$q);
    }
    echo $q;
    ?>
    </body>
    </html>或者就用老大的方式,如果你只会出现gbk的内容话,用我这个也可以!