IIS部署后中文Cookie乱码

Posted 彬子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS部署后中文Cookie乱码相关的知识,希望对你有一定的参考价值。

同样问题记录一下 :

ASP.NET在VS2008下开发,使用内置的服务器时,一切良好,可是使用IIS时,完全一样的代码,突然很多数据得不到了。

 

因为使用的是母版页,一开始以为是Page_Load的顺序问题,搜了大半天,可始终无法解决。同样的SQL语句,where匹配包含俩个选项,用户名和单位,直接手写就OK,用变量就不行,抓狂了一上午。

 

后来发现用户名用的是英文,而单位是中文,原来是IIS的cookie存在乱码问题,一个小毛病折腾了大半天。。。 上网搜了一下,2分钟搞定,存入cookie的时候先编码,读取的时候再解码就可以了。具体代码如下:

//写入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);

或直接

//写入cookies时
Response.Cookies["unitId"].Value=HttpUtility.UrlEncode(unitId);
//读取cookies时
string unitid = page.Request.Cookies["unitId"].Value.ToString().Trim();
unitid = HttpUtility.UrlDecode(unitid);

注意在GridView和其他涉及到该cookie字段的地方也要进行修改.
————————————————
原文链接:https://blog.csdn.net/war132553/java/article/details/5951431

以上是关于IIS部署后中文Cookie乱码的主要内容,如果未能解决你的问题,请参考以下文章

cookie编码乱码问题与cookie禁用后session操作

java,rsa加解密在本地正常,部署到tomcat上加解密后出现乱码。

myeclipse中tomcat部署编译jsp页面后,浏览器显示中文乱码

解决Cookie乱码问题

IIS 部署在 cassini 中正常工作后,PrincipalContext.ValidateCredentials 停止验证

[转]在ASP.NET开发中容易忽略的2个小问题 Cookie乱码存取异常 和 iframe弹框的login跳转