你的服务器端与客户端之间的编码格式不对应,比如客户端发送请求一般都是用UTF-8(你可以到Intenet 选项里看),而你的服务器端又是其它的编码格式,比如说GB2312 or Unicode

解决方案 »

  1.   

    谢谢!都改成utf-8了。还是不行呀!
      

  2.   

    进行url编码<script language="JavaScript">
    <!--
    function utf8(wide) {
      var c, s;
      var enc = "";
      var i = 0;
      while(i<wide.length) {
        c= wide.charCodeAt(i++);
        // handle UTF-16 surrogates
        if (c>=0xDC00 && c<0xE000) continue;
        if (c>=0xD800 && c<0xDC00) {
          if (i>=wide.length) continue;
          s= wide.charCodeAt(i++);
          if (s<0xDC00 || c>=0xDE00) continue;
          c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
        }
        // output value
        if (c<0x80) enc += String.fromCharCode(c);
        else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
        else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
        else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
      }
      return enc;
    }var hexchars = "0123456789ABCDEF";function toHex(n) {
      return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
    }var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";function encodeURIComponentNew(s) {
      var s = utf8(s);
      var c;
      var enc = "";
      for (var i= 0; i<s.length; i++) {
        if (okURIchars.indexOf(s.charAt(i))==-1)
          enc += "%"+toHex(s.charCodeAt(i));
        else
          enc += s.charAt(i);
      }
      return enc;
    }function buildURL(fld)
    {
    if (fld == "") return "";
    var encodedField = "";
    var s = fld;
    if (typeof encodeURIComponent == "function")
    {
    // Use JavaScript built-in function
    // IE 5.5+ and Netscape 6+ and Mozilla
    encodedField = encodeURIComponent(s);
    }
    else 
    {
    // Need to mimic the JavaScript version
    // Netscape 4 and IE 4 and IE 5.0
    encodedField = encodeURIComponentNew(s);
    }
    return encodedField;
    }
    var myHttp=new GetXmlHttp();
    var mmmm=document.Form1.myText.value;
    myHttp.open("GET","WebForm1.aspx?abc=" + buildURL(mmmm),false);
    myHttp.send(null);//alert(buildURL("中文"))
    // -->
    </script>
      

  3.   

    myHttp.setRequestHeader("Content-Type","text/xml")
    myHttp.setRequestHeader("Content-Type","gb2312")