首頁  >  文章  >  後端開發  >  .net使用cookie產生亂碼的問題

.net使用cookie產生亂碼的問題

巴扎黑
巴扎黑原創
2016-12-19 15:47:151404瀏覽

這個是我實際遇到的問題

在本地測試的時候是好好的,結果發佈到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的方式,就不會再出現亂碼了,不管是在伺服器還是本地都行,試過了

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn