问题是这样的! 我想做一个文章重复检索的功能 !  用户在上传文章的时候,可以通过ajax,向另一个php页面发送用户输入的文章名,但我传的值是中文的时候,php页面接收的却是乱码!数据库编码是utf-8 , 上传文章页和php页的编码也是utf-8的。我不知道是什么问题了?还是ajax不允许传送这值是中文的啊?还希望哪位高手帮忙解决一下! 小弟先在这里谢谢了……

解决方案 »

  1.   

    JS有一个方法.叫escape , 你在网上找一个PHP的unescape方法.把汉字编码后传递.就好了.
      

  2.   

    ajax传值时要使用encodeURIComponent(uri)或者escape进行编码,然后在PHP端进行解码即可
      

  3.   

    在使用AJAX开发网站时,经常有朋友遇到乱码的问题,而且一下子难以找到解决方法。其实解决AJAX中文乱码问题很简单。
    1、服务端程序:
    以下为引用的内容:
    <%
           liststr="AJAX中文乱码的简单解决方法"
           sponse.write escape(liststr) '用escape编码
    %>
               2、客户端JAVASCRIPT程序
    function toserver(url)
    {
    var req = new XMLHttpRequest();
      if (req) {
       req.onreadystatechange = function() {
        if (req.readyState == 4 )
        {
         if(req.status == 200 || req.status == 304) {
           getstr=unescape(req.responseText)  '用unescape解码
                 alert(getstr);
    }
                        else
         {return false;}
        }
       }
             req.open('GET',  url);
       req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
       req.send(null);
    }
    }
    通过escape与unescape就可以解决AJAX中文乱码,举一反三,这种方法不仅可以解决AJAX中文乱码,碰到其它乱码问题同样可以采用此方法