请教一个关于Request的问题 在asp页面转到asp.net的URL中 Msg=%D5%CB%BA%C5%BA%AC%D3%D0%B7%C7%B7%A8%D7%D6%B7%FB%A3%A1但在asp.net中Request.QueryString["Msg"] 接收到的却是 �˺ź��зǷ��ַ���请问是为什么 要怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 传值的时候加密 Server.UrlEecode接收的时候解密 Server.UrlDecode 编码问题统一编码在web.confing文件中找到 <system.web> <!-- 设置 compilation debug="true" 可将调试符号插入到 已编译的页面。由于这会 影响性能,因此请仅在开发过程中将此值 设置为 true。 --> <globalization requestEncoding="gb2312" responseEncoding="gb2312" />就是<system.web>节点,加入<globalization requestEncoding="gb2312" responseEncoding="gb2312" /> ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题一般有3种方法: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); } <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("中华人明共和国")); //建议使用 asp Server.UrlEecode 的值asp.net Server.UrlDecode 的值不一样的吧? asp和.net不能共用,就是说,他们之间不能互传 中文乱码的问题;传值的时候加密 Server.UrlEecode(值)接收的时候解密 Server.UrlDecode(值) 用js加密,后台用Server.UrlDecode解密,一样准确。 asp.net中地址栏的参数用JS取值 ????? 帮忙把这段c#的代码转成java ASP页面传递参数的问题,我用的是Session方法 使用代码下载文件问题 为何链接点击没有反应?? 如何使数据提交后,弹出询问框(询问继续添加记录,或返回) 如何制作一个特殊符号输入控件? 急!!!请大家快来帮帮忙拉,谢谢,散分(datagrid和calendar的问题) 对能解决问题的大哥提供大量asp.net的电子书 在用户自定义控件里能用ajax吗? 做网站,怎么记住用户下次登录时不需要再输入? cookie初始化
接收的时候解密 Server.UrlDecode
在web.confing文件中找到 <system.web>
<!--
设置 compilation debug="true" 可将调试符号插入到
已编译的页面。由于这会
影响性能,因此请仅在开发过程中将此值
设置为 true。
-->
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
就是<system.web>节点,加入<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题一般有3种方法:
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);
} <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("中华人明共和国")); //建议使用
asp.net Server.UrlDecode 的值不一样的吧?
传值的时候加密 Server.UrlEecode(值)
接收的时候解密 Server.UrlDecode(值)