从ASP.NET页面传值在另一个页面接收是乱码的问题!
2014年02月09日
⁄ 综合
⁄ 共 1067字 ⁄ 字号
小 中 大
- 1.设置web.config文件
- <system.web>
- ......
- <globalization requestEncoding= "gb2312" responseEncoding= "gb2312" culture= "zh-CN" fileEncoding= "gb2312"/>
- ......
- </system.web>
- 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
- > > 进行传递
- string Name = "中文参数 ";
- Response.Redirect( "B.aspx?Name= "+Server.UrlEncode(Name));
- > > 进行接收
- string Name = Request.QueryString[ "Name "];
- Response.Write(Server.UrlDecode(Name));
- 3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。
- > > 进行传递
- <script language= "JavaScript ">
- function GoUrl()
- {
- var Name = "中文参数 ";
- location.href = "B.aspx?Name= "+escape(Name);
- }
- </script>
- <body onclick= "GoUrl() ">
- > > 进行接收
- string Name = Request.QueryString[ "Name "];
- Response.Write(Server.UrlDecode(Name));
- 一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
- 或用
- Response.Redirect( "test1.aspx?111= "+System.Web.HttpUtility.UrlEncode( "中华人明共和国 "));