ajax post get 乱码解决方法

在使用"get"时,抓取的页面最后加上编码类型
<%

服务器端:servletactioncontext.getresponse().setcharacterencoding("utf-8");
客户端 网页特效p/jsp.html target=_blank >jsp教程: <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%>

response.expires = -9999 
response.addheader "pragma","no-cache"
response.addheader "cache-ctrol","no-cache"
response.addheader "content-type","text/html; charset=gb2312"'这是重点,否则会出现乱码
response.write "中文汉字"%>

2、在使用post时用vbscript解决了编码问题:

源码如下:

<script language="vbscript">
function urlencoding(vstrin)
  strreturn = ""
  for i = 1 to len(vstrin)
  thischr = mid(vstrin,i,1)
  if abs(asc(thischr)) < &hff then
  strreturn = strreturn & thischr
  else
  innercode = asc(thischr)
  if innercode < 0 then
  innercode = innercode + &h10000
  end if
  hight8 = (innercode and &hff00) &hff
  low8 = innercode and &hff
  strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8)
  end if
  next
  urlencoding = strreturn
end function

function bytes2bstr(vin)
  strreturn = ""
  for i = 1 to lenb(vin)
  thischarcode = ascb(midb(vin,i,1))
  if thischarcode < &h80 then
  strreturn = strreturn & chr(thischarcode)
  else
  nextcharcode = ascb(midb(vin,i+1,1))
  strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
  i = i + 1
  end if
  next
  bytes2bstr = strreturn
end function
</script>

下面是使用vbscript函数:

<script language=网页特效>
  /**
  * 初始化一个xmlhttp对象
  */
  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;
  }
  function saveuserinfo()
  {
  var msg = document.getelementbyid("msg");
  var f = document.user_info;
  var username = f.user_name.value;
  var userage = f.user_age.value;
  var usersex = f.user_sex.value;
  var url = "save.asp教程";
  var poststr = urlencoding("user_name="+ username +"&user_age="+ userage +"&user_sex="+ usersex);//post时采用编码传递

  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) { 
  msg.innerhtml = bytes2bstr(ajax.responsebody); //获取时解码
  } 
  } 
  }
  
</script>

<form name="user_info">
 姓名:<textarea name="user_name" /></textarea><br />
 年龄:<input type="text" name="user_age" /><br />
 性别:<input type="text" name="user_sex" /><br />
 <input type="button" value="提交表单" onclick="saveuserinfo()">
</form>
<div id="msg"></div>
成功

时间: 2024-10-03 14:03:16

ajax post get 乱码解决方法的相关文章

jquery ajax返回值乱码解决方法

实例解决方法 encodeuri(encodeuri(data))  ///注意两次编码!! $.ajax({        type: "post",        url: url,        data:data,        contenttype :"application/x-www-form-urlencoded;charset=utf-8",        cache: false,        success  : viewajax.hand

Ajax request response 乱码解决方法_AJAX相关

此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题?? 复制代码 代码如下: AjaxRequestObj.createEqStatusParameter=function() {     if (eqStatusArray.length < 1) {         return;     }     var paramNameArray = new Array();     var paramValueArray = new Array();     //取状态数组     for

Ajax request response 乱码解决方法

此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题?? 复制代码 代码如下: AjaxRequestObj.createEqStatusParameter=function() {     if (eqStatusArray.length < 1) {         return;     }     var paramNameArray = new Array();     var paramValueArray = new Array();     //取状态数组     for

jquery ajax post 中文编码乱码解决方法

encodeuricomponent会以utf-8编码,在gbk编码下,可不可以以gbk进行编码呢? 如果还在打encodeuricomponent主意的话,那不好意思,encodeuricomponent只会utf-8编码,并没有其他api进行其他编码:不过,别担心,看看下面: encodeuricomponent,它是将中文.韩文等特殊字符转换成utf-8格式的url编码. escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeur

Asp中使用JQuery的AJAX提交中文乱码解决方法

客户端页:client.html 复制代码 代码如下: <script>     //jquery的post     $.post     (         'server.asp',         {             Act:'DoSubmit',             UserName:escape('脚本之家'),//进行编码            WebSite:'www.jb51.net'         },         function(data)       

jquery的ajax()函数传值中文乱码解决方法介绍_jquery

复制代码 代码如下: $.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: '商品'},success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住一定是两次 1.修改以下代码 复制代码 代码如下: data:{id:1, t

ajax中文乱码解决方法总结

ajax乱码解决办法一: 在服务器指定发送数据的格式: 在jsp文件中: response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件 或是 response.setContentType("text/xml;charset=UTF-8");//返回的xml文件 PHP:header("Content-Type:text/html;charset=GB2312"); ajax乱码

ASP.NET中AJAX乱码解决方法

ajax乱码是一个程序员经常会碰到的问题,今天我们要讲的是关于asp教程.net中ajax乱码解决方法哦,下面先详细的介绍了处理方法,然后再举例说明 利用asp.net教程 string s = system.text.encoding.utf8.getstring(request.binaryread(request.contentlength));   system.collections.specialized.namevaluecollection form = httputility.

php excel reader2.21导出excel中文乱码解决方法说明

之前我的PHP教程博客访友询问使用php excel reader2.21导出excel时中文出现乱码如何解决,现我说明下php excel reader导出excel中文乱码的解决方法,希望对使用php excel reader导出excel的朋友有所帮助. php excel reader介绍 php excel reader是一个读取Excel xsl文件内容的一个php excel类,目前最新版本是php excel reader2.21,网上可自行搜索,sourceforge上的php