在A项目中
string url = "http://" + arr[2] + ":111/LoginIF.aspx?UID=" + Server.UrlEncode(arr[0]) + "&PWD=" + arr[1]; //UID中文账号转码 ClientScript.RegisterClientScriptBlock(this.GetType(), "this", "<script>window.open('" + url + "')</script>"); B项目里接收
UserLoginIF(Server.UrlDecode(Request["UID"].ToString()), Request["PWD"].ToString()); //中文接收解码A.B为两个网站。
在一个项目里调试正确,但两个网站结合起来就不正确了,UID传中文的时候查不到用户,传英文就正确。另外感觉两个项目合作调试很不方便。
string url = "http://" + arr[2] + ":111/LoginIF.aspx?UID=" + Server.UrlEncode(arr[0]) + "&PWD=" + arr[1]; //UID中文账号转码 ClientScript.RegisterClientScriptBlock(this.GetType(), "this", "<script>window.open('" + url + "')</script>"); B项目里接收
UserLoginIF(Server.UrlDecode(Request["UID"].ToString()), Request["PWD"].ToString()); //中文接收解码A.B为两个网站。
在一个项目里调试正确,但两个网站结合起来就不正确了,UID传中文的时候查不到用户,传英文就正确。另外感觉两个项目合作调试很不方便。
或者可以进行base64编码
<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web> 或者:
aspx文件中:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)); >> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name));
这样处理下就OK,跟ASP里一样地
这也对。。但不可能每次都要这样获取吧。所以还是WEB.CONFIG配置下
楼主把红色部分替换为:escape(“+url+") 试一下
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />