今天有個學生妹妹問我:在ASP.Net的HttpCookie中寫入漢字,讀取值為什麼全是亂碼?其實這是因為文字編碼而造成的,漢字是兩個編碼,所以才會搞出這麼個亂碼出來!其實解決的方法很簡單:只要在寫入CookIE時,先將其用Url編碼,然後再寫入,當我們讀取時再解碼就OK了,希望更多的學生妹妹能解決它,呵呵!
例子:
CookIE的寫入:
1HttpCookie cookie=new HttpCookIE("Simple");
2cookIE.Values.Add("Simple1",HttpUtility.UrlEncode("大叔,你好!"));
3cookIE.Values.Add("Simple2","English is OK!Nothing we should do!");
4Response.AppendCookie(cookie); CookIE的讀取:
1HttpCookie cookie=Request.CookIEs["Simple"];
2string simple1=HttpUtility.UrlDecode(cookIE["Simple1"]);
3string simple2=cookIE["Simple2"]; 這樣simple1="大叔,你好!";simple2="English is OK!Nothing we should do!";
很簡單吧!!!
http://www.cnblogs.com/xdotnet/archive/2006/09/27/get_right_cookIE_value.Html