一江春水向東流

          做一個(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開(kāi)發(fā)
          主站蜘蛛池模板: 锡林浩特市| 上饶县| 阳城县| 长治县| 旬邑县| 彩票| 太保市| 万荣县| 旬阳县| 娄烦县| 芦山县| 文昌市| 邳州市| 博乐市| 邹平县| 新绛县| 桂林市| 彩票| 桃源县| 贡觉县| 无锡市| 定陶县| 综艺| 汤原县| 南溪县| 镇康县| 彰化县| 调兵山市| 洛宁县| 什邡市| 衡山县| 通海县| 东乡族自治县| 体育| 大厂| 大方县| 双流县| 宝丰县| 武清区| 乃东县| 黄冈市|