url传递中文的解决方案

url传递中文的解决方案
1.设置web.config文件。(我不喜欢设置成这样)

1<system.web>   
2......   
3<globalization culture="zh-CN" fileencoding="gb2312" requestencoding="gb2312" responseencoding="gb2312"></globalization>   
4......   
5</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 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递

1<script language="JavaScript">   
2function GoUrl()   
3{   
4var Name = "中文参数";   
5location.href = "B.aspx?Name="+escape(Name);   
6}   
7</script>
1<body onclick="GoUrl()">   
2&gt;&gt; 进行接收   
3string Name = Request.QueryString["Name"];   
4Response.Write(Server.UrlDecode(Name));   
5  
6一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。   
7\---------------------------------------------------------------   
8个人陋见,请大家多加指点不足之处。</body>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus