System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");
string cookie = Request.Cookies["YourCookieName"].Value;
string cookieValue = HttpUtility.UrlDecode( cookie,enc);
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");
for (int i = 0; i < HttpContext.Current.Request.Cookies.Count; i++)
{
if (HttpContext.Current.Request.Cookies.Keys[i] == null)
return;
if (HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies.Keys[i]).ToString() == "admin_session_offices")
admin_session_offices = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[i].Value.ToString(), enc);
if (HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies.Keys[i]).ToString() == "admin_session_caozuos")
admin_session_caozuos = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[i].Value.ToString(), enc);
if (HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies.Keys[i]).ToString() == "admin_session_cishu")
admin_session_cishu = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[i].Value.ToString(), enc);
////輸出測試
//Response.Write(HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies.Keys[i], enc) + ":" + HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[i].Value.ToString(), enc) + "<br>");
}
//************************** 關於鍵名亂碼的解決方案
<div style="padding-top: 4px; text-align: right; font-weight: normal">
<%=request.Cookies("admin_session_offices")%>
<%=request.Cookies("admin_session_caozuos")%> <br>
累計登陸<%=request.Cookies("admin_session_cishu")%>次 </div>
---------------------------------------------以上是asp的讀取。。
aspx:
HttpContext.Current.Request.Cookies["admin_session_caozuos"].Value 報錯,而
HttpContext.Current.Request.Cookies["admin%5Fsession%5Fcaozuos"].Value 這樣的取值卻有效果,
如何統一把cookie裡的鍵及值重新解碼??