一网站项目中的一个模块,客户不肯花钱重新做(抠门),要求把老的asp的一个查询系统放到新asp.net网站中。那就整合吧,刚开发现提交英文和数字查询都是没问题,可是提交中文时,asp在request("admin")后出现乱码。没办发了,google吧,g了好多方法,改页面编码,改webconfig全局编码,无用。咋办?
最后用JavaScript脚本解决了。
方法如下:
提交页面:
< FORM action ="#" target ="_blank" method =post >
< INPUT name =admin id ="admin" >
< INPUT type ="image" src ="images/login.jpg" value =提交 onclick ="return doCheck();" name =B1 >
< script >
function doCheck()
{
var f = document.forms[0]
var TmpAdmin = f.admin.value;
f.admin.value= escape(f.admin.value);// 对文本框的内容进行编码
//(函数说明http://www.w3school.com.cn/js/jsref_escape.asp)
f.action="chklogin.asp";
f.target = "_blank";
f.submit();//提交form
f.admin.value=TmpAdmin;//还原文本框的内容
return false;
}
</ script >
</ FORM >
接收页面
<%
admin1=unescape(request("admin"))//解码
password1=request("password")
%>
好像asp有个编码函数urlencode,但没有解码函数不知道为什么了!
最后用JavaScript脚本解决了。
方法如下:
提交页面:
< FORM action ="#" target ="_blank" method =post >
< INPUT name =admin id ="admin" >
< INPUT type ="image" src ="images/login.jpg" value =提交 onclick ="return doCheck();" name =B1 >
< script >
function doCheck()
{
var f = document.forms[0]
var TmpAdmin = f.admin.value;
f.admin.value= escape(f.admin.value);// 对文本框的内容进行编码
//(函数说明http://www.w3school.com.cn/js/jsref_escape.asp)
f.action="chklogin.asp";
f.target = "_blank";
f.submit();//提交form
f.admin.value=TmpAdmin;//还原文本框的内容
return false;
}
</ script >
</ FORM >
接收页面
<%
admin1=unescape(request("admin"))//解码
password1=request("password")
%>
好像asp有个编码函数urlencode,但没有解码函数不知道为什么了!