HttpUtility.UrlEncode()關於空格的編碼問題 HttpUtility.UrlEncode編碼重寫

 由於 HttpUtility.UrlEncode 在 Encode 的時候, 將空格轉換成加號"+", 在 Decod
e 的時候將"+"號轉爲空格, 可是瀏覽器是不能理解"+"號爲空格的, 因此若是文件名包含
了空格, 在瀏覽器下載獲得的文件, 空格就變成了"+"號.html

一個解決辦法是, 在 HttpUtility 的 UrlEncode 以後, 將 "+" 再手動替換成 "%20"( 若是原來是 "+" 則被轉換成 "%2b" ) , 如: 瀏覽器

  //將URL進行編碼轉換,而後獲取URL  post

 public static string GetURL(string url)  

 {  
     string URLcode = "";  
     URLcode = HttpUtility.UrlEncode(url,Encoding.UTF8);  
     //+號替換成空格
     URLcode = URLcode.Replace("+", "%20");  
     //原來是+好的還原
     URLcode = URLcode.Replace("%2b","+");
     return URLcode;  
 }  

HttpUtility.UrlEncode編碼重寫ui

相關文章
相關標籤/搜索