一江春水向東流

          做一個(gè)有思想的人,期待與每一位熱愛(ài)思考的人交流,您的關(guān)注是對(duì)我最大的支持。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評(píng)論 :: 0 Trackbacks

          AJAX的亂碼的出現(xiàn)在的原因
          由于XMLHTTP采用的是Unicode編碼上傳數(shù)據(jù),而一般頁(yè)面采用的是gb2312,這就造成顯示頁(yè)面時(shí)產(chǎn)生亂碼。而當(dāng)在獲取頁(yè)面時(shí)的XMLHttp返回的是utf-8編碼,這就造成了顯示產(chǎn)生亂碼。
          解決方法之一就是在PHP文件中顯示聲明為GB2312

          header("Content-Type:text/html;charset=GB2312");

          而對(duì)于發(fā)送到服務(wù)器的中文進(jìn)行轉(zhuǎn)碼。
          如下
          $_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);
          因而這樣可以解決亂碼問(wèn)題

          方法二,是都采用UTF-8編碼。這里就不多說(shuō)了

          附測(cè)試?yán)?br />客戶端

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <title>ajax post test</title>
          </head>
          <body>
          <div id="msg"></div>
          <script language="javascript">
          /**
          * 初始化一個(gè)xmlhttp對(duì)象
          */
          function InitAjax()
          {
           var ajax=false;
           try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
            try {
             ajax = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
             ajax = false;
            }
           }
           if (!ajax && typeof XMLHttpRequest!='undefined') {
            ajax = new XMLHttpRequest();
           }
           return ajax;
          }
          //在form 測(cè)試頁(yè)面內(nèi)有一個(gè)表單,一個(gè)顯示的層
          function sendData()
          {
          ?var msg=document.getElementById("msg");
          ?var f=document.form1;
          ?var c=f.content.value;
          ?//接收數(shù)據(jù)的URL
          ?var url="dispmsg.php";
          ?var poststr="content="+c;
          ?var ajax=InitAjax();
          ?ajax.open("POST",url,true);
          ?ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
          ?ajax.send(poststr);
          ?ajax.onreadystatechange=function(){
          ??if(ajax.readyState==4 && ajax.status==200){
          ??alert("I got something");
          ???msg.innerHTML=ajax.responseText;
          ??}
          ?}
          }

          </script>

          <form name='form1'>
          <input type="text" name='content' size=10>
          <input type="button" value="確定" onclick="sendData()"><!--我用submit時(shí)就出錯(cuò)-->
          </form>
          </body>
          </html>


          ?

          服務(wù)器端
          <?php
          header("Content-Type:text/html;charset=GB2312");
          if($_POST['content'])
          {
          ?$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);
          ?print("內(nèi)容是".$_POST['content']);
          }
          else
          {
          ?print("沒(méi)有內(nèi)容發(fā)送");
          }
          ?>

          posted on 2006-12-07 19:45 allic 閱讀(957) 評(píng)論(0)  編輯  收藏 所屬分類: PHP+MySQL開發(fā)
          主站蜘蛛池模板: 驻马店市| 富蕴县| 广元市| 阿拉善盟| 宜宾市| 赫章县| 台南市| 海城市| 清河县| 青海省| 中超| 苍梧县| 肥西县| 新沂市| 玉屏| 博白县| 大宁县| 志丹县| 五常市| 蒲江县| 保定市| 常宁市| 阜平县| 江都市| 江达县| 中宁县| 乌拉特前旗| 仁怀市| 康保县| 临漳县| 闸北区| 定远县| 全椒县| 河南省| 兖州市| 枝江市| 高青县| 铜山县| 科尔| 曲水县| 太和县|