解决:iis7,在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (异常来自 HRESULT:0x80070459)...

本文介绍了ASP.NET程序迁移至IIS7时遇到的Cookie中未编码汉字导致的问题及解决办法。当Cookie包含未编码的汉字时,IIS7内核会抛出异常,通过URL编码Cookie值可以有效避免这一问题。

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

当我们asp.net程序迁移到iis7时,如果页面cookie中存在未编码的汉字时,iis内核就会报错,

错误信息如下:

在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (异常来自 HRESULT:0x80070459)

对应的英文错误信息如下:

No mapping for the Unicode character exists in the target multi-byte code page

 

经过单元测试,确实如此,iis6下还未测试,不知是否会发生此情况

 

解决方案:存储cookie值经过url编码即可,上代码

HttpCookie cookie = new HttpCookie("username", HttpUtility.UrlEncode(userName));
                    cookie.Expires = DateTime.Now.AddMonths(1);
                    Response.AppendCookie(cookie);

 

转载于:https://www.cnblogs.com/xiaoweiyu/archive/2012/04/10/2440397.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值