如题,希望大侠们帮帮我,下面是提交到php页面的函数。
Function ajaxSendPost(url, values, processRequest) {
ajaxHttpRequest.open("POST",url,true);
ajaxHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajaxHttpRequest.send(values);
ajaxHttpRequest.onreadystatechange = processRequest;
}

解决方案 »

  1.   

    encodeURIComponent("中文字符");怎么用啊???
      

  2.   

    JavaScript有一个Encode类似的方法,你去查查,搜索 url编码 ...然后你的PHP函数中会有一个相对的decode的方法,具体怎么写因为很久没写PHP,忘记了,这样编码后传送就不会出现乱码的问题了.
      

  3.   

    呵呵,忘说了,你PHP往前台送数据的时候,别忘记header("Content-Type","utf-8");哦...
      

  4.   

    用Ajax来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱搞了。PHP:header('Content-Type:text/html;charset=GB2312');
    ASP:Response.Charset("GB2312")
    JSP:response.setHeader("Charset","GB2312");
      

  5.   

    在调用页面加上header("Content-Type:text/html;charset=gb2312");
      

  6.   

    接受的数据是 UTF-8的..如果你的PHP不是使用UTF-8,拿就要转换了..用iconv转换
      

  7.   

    因为你ajax页面字符编码和你调用网页的字符编码不一样!所以显示错误
    可以在用php读取文件后转换字符编码
    具体方法,很遗憾,本人不会!
      

  8.   

    你的数据库编码如果是gb2312if (!defined ('XAJAX_DEFAULT_CHAR_ENCODING'))
    {
    define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
    }试试
      

  9.   

    统一编码,用escape编码一下
    Function ajaxSendPost(url, values, processRequest) {
    ajaxHttpRequest.open("POST",url,true);
    ajaxHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    ajaxHttpRequest.send(escape(values));
    ajaxHttpRequest.onreadystatechange = processRequest;
    }
    在php处理页面
    function unescape($str) 

             $str = rawurldecode($str); 
             preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r); 
             $ar = $r[0]; 
             foreach($ar as $k=>$v) { 
                      if(substr($v,0,2) == "%u") 
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); 
                      elseif(substr($v,0,3) == "&#x") 
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); 
                      elseif(substr($v,0,2) == "&#") { 
                               $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); 
                      } 
             } 
             return join("",$ar); 
    }用unescape反中文编译一下,就可以了,但是php配置要支持iconv()
      

  10.   

    encodeURIComponent,怎么用?看http://www.google.cn/的页面html源码