c#中cookie的乱码[转]

本文介绍在ASP.NET中使用Cookie时遇到的乱码问题及其解决方案。通过使用Server.UrlEncode对Cookie值进行编码,并在读取时解码解决乱码问题。同时介绍了设置Cookie的有效期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在使用cookie是过程中,遇到一些问题:
一个是cookie在读取内容时总是显示乱码:一直不明白为什么会这样,后来想来想去,就想到用Server.UrlEncode对内容进行编码、之后在显示的时候在解码:

下面是一个自己写的简单的cookie例子
完整代码如下:

protected void Button2_Click(object sender, EventArgs e)
{
String CookieName 
= "123";
HttpCookie cookie 
= new HttpCookie(CookieName);
cookie.Value 
=Server.UrlEncode ("韩贵州");
DateTime dtNow 
= DateTime.Now;
TimeSpan tsMinute 
= new TimeSpan(0100);
cookie.Expires 
= dtNow + tsMinute;
Response.Cookies.Add(cookie );
Label1.Text 
= cookie.Value;
}
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie GetCookie 
= Request.Cookies["123"];
if (null == GetCookie)
{
Response.Write(
"未找到对应的的cookie");
}
else
{
Label1.Text 
= Server.UrlDecode(GetCookie.Value.ToString());
}
}

 

此外,还有一点要说明 的就是:判断cookie内容是否存在的方法是

If(null==cookie名称)


第三:就是注意cookie的存活时间:
在本例子中。它的存活时间是一个小时。

DateTime dtNow = DateTime.Now;
TimeSpan tsMinute 
= new TimeSpan(0100);
cookie.Expires 
= dtNow + tsMinute;

 

转载于:https://www.cnblogs.com/zhaoming/archive/2009/06/13/1502446.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值