一个简单的ajax 
1个表单页 meta 是gb2312
一个php页 set names gb2312。 header也是gb2312 
数据库默认gb2312,整理也是gb2312
apache,php没有设置默认字体请问我还要设置什么地方。为什么我在firefox里,返回的中文结果乱码。而在ie中却正常。

解决方案 »

  1.   

    用的是否JQ?如果是的话,还需要在 ajax/get/post 方法里设置传输的编码。另外,最好把每个文件都另存为utf8编码格式
      

  2.   

    不用框架,没设置传输编码。直接js xhr对象。不行。
    用prototype,没设置传输编码,也不行。文件都是默认的ansi编码
      

  3.   

    如果是在linux下的话
    试一试 打开etc/apache/http.conf
    中添加 Adddefaultcharset utf8在windows下 那到百度吧 多得不了
      

  4.   

    我在windows下。
    在apache的conf下 Adddefaultcharset gb2312 还是 不行
    表单页的值onblur="cyh(this.value)"   经过ajax发送到php   然后php页get到这个值$username=$_GET["yh"];   与mysql中的数据比较  然后在php中echo $username 然后通过ajax把responseText 返回到表单时 中文乱码 英文正常显示全部设置成utf8 之后firefox下就 可以了
    但是...ie下 就不行了。ie默认的编码是gb2312.
    国内还是用gb2312好,但是不知道问题出在哪
      

  5.   

    应该就是header的问题,你再检查检查
    header('content-type:text/html, charset=gbk);
      

  6.   

    统一 : uft-8  (国际化标准)  好比xhtml和javascript
    封杀 : gb2312 (中国)        只是html和jscript不按国际化标准, 以后还会遇到很多乱码的情况, 只要你还在用英语, 最好是统一用utf8