如何解决Request.Uri.ToString() 中文乱码的问题...

比如:"WebForm1.aspx?b="+HttpUtility.UrlEncode("中文",System.Text.Encoding.Default))

如果采用Request.Uri.ToString(),在某种环境下就会出现乱码,感觉应该是ToString() 对Uri进行了Unicode编码,所以导致乱码青黄发生了,我们可以绕道获取我们应该得到的。代码如下。。


 HttpContext.Current.Request.ContentEncoding = System.Text.Encoding.Default;
            
            
/*
                1:string url = HttpContext.Current.Request.Url.ToString();
                    *  不能使用Url.ToString()方法,因为ToString()默认会记进行Unicode编码..
                    
              
             
*/
            
string url3 = HttpContext.Current.Request.Url.OriginalString;
            
string url2 = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Query);
            
string url = HttpContext.Current.Request.RawUrl;
            
string url1 = HttpContext.Current.Request.Url.PathAndQuery;
            
string strMessage = WebUtility.GetUrlArgs(url1, "b"

不知道还有什么好的方法,大家指点指点...

 

posted @ 2008-11-19 10:29  roboth  阅读(1441)  评论(0)    收藏  举报