這個是我實際遇到的問題
在本地測試的時候是好好的,結果發佈到iis上,讀取出來的cookie成了亂碼
一開始使用了一個非常傻的方式,就是把含有中文的cookie放到最後在存入,這個至少解決了一個問題,即不含有中文的cookie能夠正常讀取,可能是中文的亂碼導致了cookie的字節讀亂了
後來改進了,查找了網上的方法,也給你們貼上來,供大家參考
為了防止這篇文章刪掉,我給黏下來了。
下面是寫入cookie的程式碼
[csharp] view plain copy
HttpCookie cookie = new HttpCookie(" 三,14,images/1.jpg";
cookie.Expires = DateTime.Now.AddDays(1);
[csharp] view plain copy
if (Request.Cookies[ "username"]!=null)
{
Response.Write(username);
中文部分可能是亂碼,不管是有什麼導致的,我們都可以透過編碼來解決
更改上面寫入cookie的代碼
[csharp] view plain copy
HttpCookie cookie= new copy
HttpCookie cookie= new copy
HttpCookie cookie= new
cookie.Value = HttpUtility.UrlEncode("張三,14,images/1.遠 cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
更改上讀取cookie的程式碼
[cslainp] view更改上面讀取cookie的程式碼
[cslainp] view更改上面讀取cookie的程式碼
{ username =HttpUtility.UrlDecode(Request.Cookies["username"].Value,Encoding.GetEncoding("UTF-8")); } 想這樣,而儲存與閱讀取cookie的時候都使用utf8的方式,就不會再出現亂碼了,不管是在伺服器還是本地都行,試過了