页面上通过地址栏传值时出现乱码的两种解决方法

1.在web.config中<system.web>节点下添加一句配置:

 

<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312" culture="zh-CN"/>

 

 节点属性解释:

 

requestEncoding:指定每一传入请求的假定的编码,包括已传递的数据和查询字符串。如果请求附带包含一个 Accept- Charset 属性的请求标头,它将重写配置中的该属性。默认编码为 UTF-8

 

responseEncoding:可选的属性。指定响应的内容编码。默认编码为 UTF-8;

 

fileEncoding:可选的属性。为 .aspx.asmx 和 .asax 文件分析指定默认编码。无论此属性的值是什么,用 byte order mark  前缀保存的 Unicode 和 UTF-8 文件都将被自动识别。

 

Culture:可选的属性。为处理传入的 Web 请求指定默认的区域性。此属性还可以设置为 auto

 

fileEncoding:可选的属性。为 .aspx.asmx 和 .asax 文件分析指定默认编码。无论此属性的值是什么,用 byte order mark  前缀保存的 Unicode 和 UTF-8 文件都将被自动识别。

 

2.针对两种方法传值

 

       String Name="中国"; A页面传到B页面

 

       2.1,Javascript脚本传值

 

 传:Windows.location="A.aspx?name="+escape(Name)

 

 取:Request.QueryString["name"].ToString();

 

       2.2Asp.Net页面传值

 

               传:Response.Redirect("A.aspx?name="+Server.UrlEncode(name))

 

               取:Server.UrlDeCode(Request.QueryString["name"].ToString())

posted @ 2013-07-30 21:45  程序员修炼之旅  阅读(529)  评论(1编辑  收藏  举报
END
欢迎各位小伙伴关注我的公众号(程序员修炼之旅),里面会分享一些技术类干货,同时也是一个技术沟通交流平台,谢谢大家的支持。