在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传中文的时候查不到用户,传英文就正确。另外感觉两个项目合作调试很不方便。

解决方案 »

  1.   

    web.config里面配置一下编码!!
      

  2.   

    编码问题 发送和接受都制定编码格式就好了
    或者可以进行base64编码
      

  3.   

    直接用Request.QueryString["UID"]试试看,这个是自动对url参数进行解码了,不需要Server.UrlDecode
      

  4.   

    1.设置web.config文件。 
    <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)); 
      

  5.   

    Server.UrlEncode("中文参数");
    这样处理下就OK,跟ASP里一样地
      

  6.   


    这也对。。但不可能每次都要这样获取吧。所以还是WEB.CONFIG配置下
      

  7.   

    string url = "http://" + arr[2] + ":111/LoginIF.aspx?UID=" + HttpUtility.UrlEncode(arr[0]) + "&PWD=" + HttpUtility.UrlEncode(arr[1]);  //UID中文账号转码 接受request无需解码!!
      

  8.   

    在web.config中配置起不到作用,并且是项目与项目之间传值。
      

  9.   

     ClientScript.RegisterClientScriptBlock(this.GetType(), "this", " <script>window.open('" + url + "') </script>");    
    楼主把红色部分替换为:escape(“+url+") 试一下
      

  10.   

    解决了,发送方和接受都要在web.config中配置
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />