邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

.NET在IE9中页面间URL传递中文变成乱码的解决办法

来自:种豆 时间:2017-12-29 阅读:880次 原文链接
    在.Net的项目中,鼠标点击查询按钮,转到查询页面,但URL中包含中文时,传到服务器端后,中文变成了乱码(只有IE9出现该问题)。
    尝试使用Server.UrlEncode()进行编码,再使用Server.UrlDecode()进行解码,在IE9中中文仍然是乱码。
    尝试使用使用HttpUtility.UrlEncode()编码,HttpUtility.UrlDecode()解码,在IE9中中文仍然是乱码。
    最终,在.NET在IE9中页面间URL传递中文变成乱码的解决办法是:
    1、先用Server.UrlEncode()进行编码
    2、再用HttpUtility.UrlEncode()进行编码
    3、使用HttpUtility.UrlDecode()进行解码
    请求页面示例如下:string testStr = "万恶的IE9中URL中文乱码";
string tempStr = Server.UrlEncode(testStr);
tempStr
= HttpUtility.UrlEncode(tempStr);
string url="http://www.test.com?testStr="+tempStr;
    响应端示例如下:string str = HttpUtility.UrlDecode(Request["testStr"]);
    这样在IE9中URL中的中文就不是乱码了。
 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3033380280进行处理
sowsoy.com 版权所有 Copyright©2010-2021 备案号:蜀ICP备2020025376号-3
Email:sowsoy#hotmail.com