今天有个问我:在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!";
很简单吧!!!