会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
炼丹炉中的孙悟空
Only For Study
博客园
联系
订阅
管理
公告
View Post
asp.net Cookies 转码的问题 中文丢失
因为asp.net使用UTF-8的文字编码来显示GB2312的中文,所以有的时候会出现乱码,尤其在cookies的时候,更甚至是我们在web.config中这样设置之后<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>,会导致我们的中文cookie变成乱码,从而导致cookies无效,因此要将cookies转化成UTF-8的格式:代码如下:
/**/
///
<summary>
///
设置 Cookie
///
</summary>
///
<param name="lxfs"></param>
///
<param name="expiresDays"></param>
public
static
void
SetCookie(
string
key,
string
value,
int
expiresDays)
{
DateTime expires
=
DateTime.Now.AddDays(expiresDays);
HttpCookie MyCookie
=
new
HttpCookie(key);
MyCookie.Domain
=
"
.yourdomain.com
"
;
MyCookie.Value
=
HttpUtility.UrlEncode(value);
MyCookie.Expires
=
expires;
HttpContext.Current.Response.Cookies.Add(MyCookie);
}
读取cookie的时候使用这个函数:
/**/
///
<summary>
///
对cookie进行UTF编码
///
author:jake
///
bt:080414
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
public
static
string
GetCookid(
string
str)
{
Encoding stre
=
Encoding.GetEncoding(
"
UTF-8
"
);
return
HttpUtility.UrlDecode(str,stre);
}
如:
GetCookid(HttpContext.Current.Request.Cookies[
"
sswoo_user
"
].Value)
如此以来即可解决中文字符cookie丢失的问题了!
Jake
http://www.shenghuo.cn
转载注明出处!
posted on
2008-04-14 16:10
Jake.SHI
阅读(
517
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部