只能有字符编码转换的功能,有两种解决方案,第一是在客户端上直接用IE的VBS功能进行GBK转UTF-8再提交数据;第二是在服务器端用PHP的iconv功能转换,或者用mbstring的功能。用第一种方法,网上搜索有:
查看数据:
服务器端:
header("Content-type", "application/x-www-form-urlencoded;charset=GBK");//输出头标,设置为GBK编码
用户端(VBScript),获取UTF8数据,再转换GBK:
function gb2utf8(data){//GB编码是,ie通过二进制码utf8->gbk转为中文
    var glbEncode = [];
    gb2utf8_data = data;
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g|>,"%$2%$1").replace(/%([A-Z].)%(.{2})/g|>,"@$1$2");
    t=t.split("@");
    var i=0,j=t.length,k;
    while(++i<j)>
        k=t[i].substring(0,4);
        if(!glbEncode[k]) {
            gb2utf8_char = eval("0x"+k);
            execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
            glbEncode[k]=escape(gb2utf8_char).substring(1,6);
        }
        t[i]=glbEncode[k]+t[i].substring(4);
    }
    gb2utf8_data = gb2utf8_char = null;
    return unescape(t.join("%"));
}第二种方法简单些,但占用服务器资源:
<?php
iconv('GB2312','UTF8',"被转换字符串,输出到浏览器");
?>

解决方案 »

  1.   

    第一种方案楼上的第二种方案:页面自身及meta用utf8编码方式
    查询数据库时mysql_query("set names 'utf8'")会自动输出utf8
      

  2.   

    xmlHttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;charset=gbk");在ajax请求数据前调用上面的方法指定请求使用的字符集
      

  3.   

    不过你要注意的是,从数据库取出的数据以及你的客户端页面上的所有文字也都必须是gb2312的,如果不行的话就转码,从数据库取出的数据就mysql_query("set names 'gbk'")一下
      

  4.   

    在信息处理页面的最上面加上
    header("Content-Type:text/html;charset=gb2312");
      

  5.   

    utf-8 好的地方就是编码的通用性, 
     不好的地方 在于占用过大的数据库空间. 不过 ajax似乎能进行转码的, 以前有看过这方面的说明.