Javascript的encodeURIComponent()格式化中文字符后在ASP.NET页面中乱码问题的解决。
Posted on 2009-09-30 23:27 根号贰 阅读(1742) 评论(0) 编辑 收藏 举报
今天遇到一个很烦恼的问题,Javascript的encodeURIComponent()方法加密字符串get提交后,在asp.net页面解码时总是得到乱码。
通过简单的分析,我的Javascript生成的UrlEnCode串是utf-8格式的,而接收方asp.net页面的RequestEncoding="gb2312",问题应该是出现在这里。
最后使用了这个方法搞定问题:
这个方法的好处是完全可以忽略发送页和获取页的编码问题,只需知道发送方的编码格式即可!
通过简单的分析,我的Javascript生成的UrlEnCode串是utf-8格式的,而接收方asp.net页面的RequestEncoding="gb2312",问题应该是出现在这里。
最后使用了这个方法搞定问题:
System.Collections.Specialized.NameValueCollection gb2312 = HttpUtility.ParseQueryString(Request.Url.Query, System.Text.Encoding.GetEncoding("utf-8"));
_Keywords = gb2312["Keywords"];
_Keywords = gb2312["Keywords"];
这个方法的好处是完全可以忽略发送页和获取页的编码问题,只需知道发送方的编码格式即可!