新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:cookies的丢失和中文乱码

cookies的丢失和中文乱码

新客网 XKER.COM 2007-01-16 来源: 收藏本文
 

我在文件系统下开发出来的程序,配置到iis下,cookies出来了些问题。

1,cookies的丢失
我在前几天的随笔《十分棘手的问题,使用vs2005在文件系统机制下开发出来的web程序,配置到iis就不能正常运行?》中记录了我解决丢失存储超级管理员权限的cookies的问题,虽然问题最后解决了,但我没有搞明白原因。随笔最后我给出了一个在文件系统下正常,在iis下不正常的牵强理由:文件系统在每次调试时提供了一个微型服务器,每次都是重新分配内存。而在iis下第一次运行是分配内存,只要程序不做改动,不用重新编译,就不再重新分配内存了。今天又看到《在ASP.NET中使用Session常见问题集锦 》这里提到:可能和机器的环境有关系,比如:防火墙或者杀毒软件等,尝试关闭防火墙(丢失Session的原因应该跟丢失cookies的原因一样)。觉得他讲的也有道理,在文件系统下运行应该不通过防火墙,在iis下运行就要通过防火墙了。看来这个问题不止我一人遇到过。我在以前使用asp.net1.1的时候到没遇到过丢失cookies或session的情况。

2,cookies的中文乱码
我昨天晚上突然又发现,iis下cookies里的中文又出现问题了,显示乱码。
费了好一段时间,才解决:
//写入cookies时
string t =HttpUtility.UrlEncode(要写入到cookies的中文值);
HttpCookie c = new HttpCookie("user_realname", t);
Response.Cookies.Add(c);
//读取cookies时
t=获取的中文cookies值;
t = HttpUtility.UrlDecode(teacher_name);
这样就解决了。

提醒正在使用vs2005文件系统开发项目的朋友注意一下。

造成文件系统与iis运行有差别的原因应该跟他们的运行机制有关,希望找一些介绍他们运行机制的资料来看!

http://enuosky.cnblogs.com/archive/2006/06/14/425762.html

转自:动态网站制作指南 | www.knowsky.com
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐