HttpUtility.UrlEncode v.s. Server.UrlEncode

  • 2742
  • 0
  • 2011-04-21

摘要:HttpUtility.UrlEncode v.s. Server.UrlEncode

HttpUtility.UrlEncode:可依照自訂的編碼做UrlEncode
Server.UrlEncode:
依照server設定的編碼做UrlEncode

(一)HttpUtility.UrlEncode
public static string UrlEncode (string str,Encoding e)
例如:
HttpUtility.UrlEncode("測試", Encoding.UTF8)  => %e6%b8%ac%e8%a9%a6
HttpUtility.UrlEncode("測試", Encoding.GetEncoding("BIG5"))  =>  %b4%fa%b8%d5


(二)Server.UrlEncode
URLEncode( string)
這個部份的編碼無法從程式中修改,不過可以從ASP.NET組態設定地方修改
方法1.
從IIS設定

方法2.從web.config修改
<system.web>節點下新增or修改
<globalization responseEncoding="utf-8" requestEncoding="utf-8" />

 

結論:HttpUtility.UrlEncode彈性較佳

 

參考資料:
http://msdn.microsoft.com/zh-tw/library/h10z5byc(v=VS.80).aspx
http://msdn.microsoft.com/en-us/library/ms525738(v=vs.90).aspx