asp.net下url传递中文的解决方案

  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 文件好象无效。